mirror of
https://github.com/proffesor-for-testing/agentic-qe.git
synced 2026-09-19 08:45:47 +08:00
2777ebab3d
Added complete Playwright-based end-to-end test suite for the Agile Testing Days 2025 conference website (https://agiletestingdays.com/). This test suite enables automated functional testing of critical user journeys including registration, payment processing, navigation, and form submissions. Key components: - Comprehensive test plan with 67 BDD scenarios covering navigation, registration, payment, newsletter, FAQ, Call for Papers, speakers, and external integrations - 78+ Playwright test cases organized by priority (P0/P1/P2) with Page Object Model pattern - Complete test infrastructure with fixtures, utilities, and test data factories - Full documentation including setup guide, test execution instructions, and configuration examples - Support for parallel execution, CI/CD integration, and multiple report formats This test suite was created to validate the conference website functionality and can be shared with the Agile Testing Days team. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
185 lines
4.1 KiB
TypeScript
185 lines
4.1 KiB
TypeScript
/**
|
|
* Test Data - Fixtures and constants for E2E tests
|
|
*/
|
|
|
|
// Ticket pricing information
|
|
export const TICKET_PRICING = {
|
|
tutorialAndConference: {
|
|
name: 'Tutorial + 3 Days',
|
|
originalPrice: 3450,
|
|
discountedPrice: 2925,
|
|
currency: 'EUR',
|
|
vatRate: 0.19,
|
|
priceWithVAT: 3481.75, // 2925 * 1.19
|
|
includes: [
|
|
'1 Tutorial Day (Nov 24)',
|
|
'3 Conference Days (Nov 25-27)',
|
|
'Onsite access',
|
|
'Meals and refreshments',
|
|
'Access to all sessions',
|
|
],
|
|
},
|
|
conferenceOnly: {
|
|
name: '3 Conference Days',
|
|
originalPrice: 2500,
|
|
discountedPrice: 2125,
|
|
currency: 'EUR',
|
|
vatRate: 0.19,
|
|
priceWithVAT: 2528.75, // 2125 * 1.19
|
|
includes: [
|
|
'3 Conference Days (Nov 25-27)',
|
|
'Onsite access',
|
|
'Meals and refreshments',
|
|
'Access to all sessions',
|
|
],
|
|
},
|
|
onlinePass: {
|
|
name: 'Online Pass',
|
|
originalPrice: 499,
|
|
discountedPrice: 299,
|
|
currency: 'EUR',
|
|
vatRate: 0.19,
|
|
priceWithVAT: 355.81, // 299 * 1.19
|
|
includes: [
|
|
'Virtual access to all sessions',
|
|
'Live streaming (Nov 25-27)',
|
|
'On-demand recordings (6 months access)',
|
|
],
|
|
},
|
|
} as const;
|
|
|
|
// Stripe test card numbers
|
|
export const PAYMENT_TEST_CARDS = {
|
|
validVisa: {
|
|
number: '4242424242424242',
|
|
expiry: '12/26',
|
|
cvc: '123',
|
|
cardholder: 'Test Cardholder',
|
|
expectedResult: 'success',
|
|
},
|
|
validMastercard: {
|
|
number: '5555555555554444',
|
|
expiry: '12/26',
|
|
cvc: '123',
|
|
cardholder: 'Test Cardholder',
|
|
expectedResult: 'success',
|
|
},
|
|
declined: {
|
|
number: '4000000000000002',
|
|
expiry: '12/26',
|
|
cvc: '123',
|
|
cardholder: 'Test Declined',
|
|
expectedResult: 'card_declined',
|
|
},
|
|
insufficientFunds: {
|
|
number: '4000000000009995',
|
|
expiry: '12/26',
|
|
cvc: '123',
|
|
cardholder: 'Test Insufficient',
|
|
expectedResult: 'insufficient_funds',
|
|
},
|
|
expired: {
|
|
number: '4000000000000069',
|
|
expiry: '12/26',
|
|
cvc: '123',
|
|
cardholder: 'Test Expired',
|
|
expectedResult: 'expired_card',
|
|
},
|
|
} as const;
|
|
|
|
// Event details
|
|
export const EVENT_DETAILS = {
|
|
name: 'Agile Testing Days 2025',
|
|
dates: {
|
|
tutorial: 'November 24, 2025',
|
|
conference: 'November 25-27, 2025',
|
|
full: 'November 24-27, 2025',
|
|
},
|
|
venue: {
|
|
name: 'Dorint Sanssouci Berlin/Potsdam',
|
|
city: 'Berlin/Potsdam',
|
|
landmark: 'Sanssouci Park',
|
|
},
|
|
format: 'Hybrid (Onsite + Virtual)',
|
|
} as const;
|
|
|
|
// Form validation data
|
|
export const FORM_VALIDATION = {
|
|
validEmails: [
|
|
'test@example.com',
|
|
'user.name+tag@example.co.uk',
|
|
'test_user@domain-name.com',
|
|
],
|
|
invalidEmails: [
|
|
'invalid-email',
|
|
'@example.com',
|
|
'user@',
|
|
'user space@example.com',
|
|
'',
|
|
],
|
|
validNames: ['John', 'María José', "O'Brien", 'Jean-Claude'],
|
|
invalidNames: ['', 'A', 'X'.repeat(256), '123456'],
|
|
countries: ['Germany', 'United Kingdom', 'Austria', 'United States'],
|
|
vatIds: {
|
|
germany: 'DE123456789',
|
|
uk: 'GB123456789',
|
|
austria: 'ATU12345678',
|
|
invalid: 'INVALID123',
|
|
},
|
|
} as const;
|
|
|
|
// External links
|
|
export const EXTERNAL_LINKS = {
|
|
slack: {
|
|
name: 'Slack',
|
|
expectedDomain: 'slack.com',
|
|
},
|
|
linkedin: {
|
|
name: 'LinkedIn',
|
|
expectedDomain: 'linkedin.com',
|
|
},
|
|
youtube: {
|
|
name: 'YouTube',
|
|
expectedDomain: 'youtube.com',
|
|
},
|
|
bluesky: {
|
|
name: 'Bluesky',
|
|
expectedDomain: 'bsky.app',
|
|
},
|
|
} as const;
|
|
|
|
// Navigation items
|
|
export const NAVIGATION_ITEMS = [
|
|
'About',
|
|
'Conference',
|
|
'Registration',
|
|
'Groups',
|
|
'Call for Papers',
|
|
'Sponsorship',
|
|
'Login',
|
|
] as const;
|
|
|
|
// Conference subsections
|
|
export const CONFERENCE_SUBSECTIONS = [
|
|
'Program',
|
|
'Tutorials',
|
|
'Speakers',
|
|
'Location',
|
|
'Deep Dive Tracks',
|
|
] as const;
|
|
|
|
// Test credentials (for login tests)
|
|
export const TEST_CREDENTIALS = {
|
|
validUser: {
|
|
email: process.env.TEST_USER_EMAIL || 'test.user@mailinator.com',
|
|
password: process.env.TEST_USER_PASSWORD || 'TestPassword123!',
|
|
},
|
|
invalidUser: {
|
|
email: 'nonexistent.user@mailinator.com',
|
|
password: 'WrongPassword123!',
|
|
},
|
|
} as const;
|
|
|
|
// Email test domain
|
|
export const EMAIL_TEST_DOMAIN = process.env.TEST_EMAIL_DOMAIN || 'mailinator.com';
|