DigitalConsumer.FixMyGlass/playwright-tests/tests/InsuranceAcuityPaypal.ts
maguire-arman a2ca9134d1 Initializes Playwright test framework
Sets up the core infrastructure for Playwright-based automated testing, including:
- Docker support for consistent environments
- Azure Pipelines configuration for CI/CD
- Page Object Model structure for maintainable tests
- Test data, validation, and rule engine implementation
- Test configuration for alerts and other scenarios
2025-05-08 15:45:05 -04:00

97 lines
No EOL
3.3 KiB
TypeScript

//Imports here
import { ITestData } from "@business-logic/types/ITestData"
import { PaymentMethod, AppointmentType, DamageType, PartQuestionType, VehicleDamage, PaymentType } from "@business-logic/types/Enums";
import TestCase from "@business-logic/types/TestCase";
import { VehicleLookupType } from "@business-logic/types/Enums";
import { getDefaultTestData, setFakerSeedFromTestName } from "@business-logic/constants/DefaultTestData";
// Set the seed based on test name for consistent but unique data
setFakerSeedFromTestName("InsuranceAcuityPaypal");
// Now get the test data with the seeded faker
const insuranceAcuityPaypalData: Partial<ITestData> = {
...getDefaultTestData(), // Get default data with current seed
// Key feature: Insurance flow with Acuity
paymentMethod: PaymentMethod.Insurance,
// Insurance claim flags
isDuplicateClaim: true,
isPolicyFound: true,
isUseVehicleOnPolicy: true,
// Override customer details for Kentucky location
customerDetails: {
...getDefaultTestData().customerDetails!,
address: {
street: getDefaultTestData().customerDetails!.address.street,
city: 'Concord',
state: 'Kentucky',
postalCode: '42071',
country: 'United States'
}
},
// Insurance claim details
claimDetails: {
client: 'ACUITY INSURANCE',
policyNumber: 'Mock532809F',
policyDeductible: 0,
damageDate: new Date(new Date().setDate(new Date().getDate() - 1)).toLocaleDateString('en-US', {month: '2-digit', day: '2-digit', year: 'numeric'}),
damageCause: DamageType.Hail
},
// Heavy duty truck details with VIN lookup
vehicleDetails: {
...getDefaultTestData().vehicleDetails!,
year: '2006',
make: 'Ford',
model: 'F Series F550',
style: '2 door standard cab',
vin: '1FDAF57P86EA68105',
vehicleLookupType: VehicleLookupType.Vin,
},
// No need to override vehicleDamage as it already defaults to WindshieldCrack
// Override for in-shop appointment
appointmentDetails: {
serviceLocation: AppointmentType.InShop,
shopAddress: '8985 Yellow Brick Rd, Rosedale, MD 21237',
appointmentDate: getDefaultTestData().appointmentDetails?.appointmentDate
},
// Part questions for windshield
vehiclePartQuestions: [
{
partQuestionType: PartQuestionType.WindshieldColor,
isOnPage: true,
optionToSelect: 'Green Tint',
secondaryQuestionOptionToSelect: 'solar, third visor frit, aftermarket'
},
],
// Other vehicles on policy
otherVehiclesOnPolicy: [
{
year: '2000',
make: 'Ford',
model: 'F250 Super Duty',
vehicleLookupType: VehicleLookupType.Vin
}
],
// Override payment details (empty because we skip payment method page in insurance flow)
paymentDetails: {}
}
const insuranceAcuityPaypalTests: TestCase[] = [];
const tc = new TestCase({
name: `InsuranceAcuityPaypal`,
tags: ['@E2E','@InsuranceAcuityPaypal', '@test_report', '@Insurance'],
testData: insuranceAcuityPaypalData
}, undefined, 'InsuranceAcuityPaypal');
insuranceAcuityPaypalTests.push(tc);
export default insuranceAcuityPaypalTests;