DigitalConsumer.FixMyGlass/playwright-tests/tests/InsuranceUSAAMsr.ts
2026-05-03 12:24:21 -04:00

101 lines
No EOL
3.2 KiB
TypeScript

//Imports here
import { ITestData, getDefaultExperimentsData } from 'framework/TestData'
import { ServiceLocation, DamageType, PartQuestionType, VehicleDamage, PaymentType, Flow } from 'safelite-playwright-core';
import { PaymentMethod } from "framework/localTypes/Enums";
import { ITestCase } from '../framework/Typedefs'
import { VehicleLookupType } from 'safelite-playwright-core';
import { getDefaultTestData, setFakerSeedFromTestName } from 'safelite-playwright-core';
// Set the seed based on test name for consistent but unique data
setFakerSeedFromTestName("InsuranceUSAAMsr");
// Now get the test data with the seeded faker
const insuranceUSAAMsrData: Partial<ITestData> = {
...getDefaultTestData(), // Get default data with current seed
// Key feature: Insurance flow with Acuity
paymentMethod: PaymentMethod.Insurance,
// Insurance claim flags
isDuplicateClaim: true,
flow: Flow.Managed,
isUseVehicleOnPolicy: true,
// Override customer details for Kentucky location
customerDetails: {
...getDefaultTestData().customerDetails!,
address: {
street: getDefaultTestData().customerDetails!.address.street,
city: 'Cleaveland',
state: 'Ohio',
postalCode: '44125',
country: 'United States'
}
},
// Insurance claim details
claimDetails: {
client: 'USAA',
policyNumber: 'MOCK900040MSR',
policyDeductible: 100.00,
damageDate: new Date(new Date().setDate(new Date().getDate() - 1)).toLocaleDateString('en-US', {month: '2-digit', day: '2-digit', year: 'numeric'}),
damageCause: DamageType.Rock
},
// Heavy duty truck details with VIN lookup
vehicleDetails: {
...getDefaultTestData().vehicleDetails!,
year: '2023',
make: 'Hyundai',
model: 'Elantra',
style: '4 door sedan'
},
isRecalVehicle: true,
// No need to override vehicleDamage as it already defaults to WindshieldCrack
// Override for mobile service
appointmentDetails: {
serviceLocation: ServiceLocation.Mobile,
appointmentDate: getDefaultTestData().appointmentDetails?.appointmentDate,
serviceAddress: {
// Use street address from current faker seed
street: "13300 Carpenter Rd",
city: 'Cleveland',
state: 'OH',
postalCode: '44125',
country: 'United States'
}
},
// Part questions for windshield
partQuestions: [
{
partQuestionType: PartQuestionType.GeneralQuestion1,
isOnPage: true,
optionToSelect: 'Yes'
},
],
// Override payment details (empty because we skip payment method page in insurance flow)
paymentDetails: {
paymentType: PaymentType.PayAtService
},
// Experiments
experiments: {
...getDefaultExperimentsData()
}
}
const insuranceUSAAMsrTests: ITestCase[] = [];
const tc = {
name: `InsuranceUSAAMsr`,
tags: ['@E2E','@InsuranceAcuityPaypal', '@test_report', '@Insurance', '@CASH-1187', '@CASH-848'],
testData: insuranceUSAAMsrData
};
insuranceUSAAMsrTests.push(tc);
export default insuranceUSAAMsrTests;