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
97 lines
No EOL
3.3 KiB
TypeScript
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; |