DigitalConsumer.FixMyGlass/playwright-tests/tests/InsuranceNoCompProgressive.ts

97 lines
No EOL
3.1 KiB
TypeScript

//Imports here
import { ITestData, getDefaultExperimentsData } from 'framework/TestData'
import { ServiceLocation, DamageType, PaymentType, PartQuestionType, Flow } from 'safelite-playwright-core';
import { ITestCase } from '../framework/Typedefs'
import { PaymentMethod } from "framework/localTypes/Enums";
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("InsuranceNoCompProgressive");
// Now get the test data with the seeded faker
const insuranceNoCompProgressiveData: Partial<ITestData> = {
...getDefaultTestData(), // Get default data with current seed
// Key feature: Insurance flow with GEICO
paymentMethod: PaymentMethod.Insurance,
// Insurance claim flags
isDuplicateClaim: true,
flow: Flow.Managed,
isPolicyFound: true,
isUseVehicleOnPolicy: true,
isHeavyTruck: false,
isPolicyDriver: true,
isRecalVehicle: true,
// Override customer details with specific name and California location
customerDetails: {
...getDefaultTestData().customerDetails!,
firstName: 'SHERI',
lastName: 'SCHATZ',
address: {
...getDefaultTestData().customerDetails!.address,
// city: 'Slidell',
// state: 'Louisiana',
// postalCode: '70458'
postalCode: '43085'
},
},
// Insurance claim details
claimDetails: {
client: 'Progressive',
policyNumber: 'Mock495646B',
policyDeductible: 1722.20,
policyZip: '70458',
damageDate: new Date(new Date().setDate(new Date().getDate() - 1)).toLocaleDateString('en-US', {month: '2-digit', day: '2-digit', year: 'numeric'}),
damageCause: DamageType.Rock
},
// Hyundai vehicle details with VIN lookup
vehicleDetails: {
...getDefaultTestData().vehicleDetails!,
year: '2015',
make: 'Acura',
model: 'MDX',
style: '4 door utility',
vehicleLookupType: VehicleLookupType.Zip,
},
// Part questions related to recalibration
partQuestions: [
{
partQuestionType: PartQuestionType.GeneralQuestion1,
isOnPage: true,
optionToSelect: 'Yes'
},
],
// Override for in-shop appointment
appointmentDetails: {
serviceLocation: ServiceLocation.InShop,
// shopAddress: '56705 Garrett Road, Slidell, LA 70458',
appointmentDate: getDefaultTestData().appointmentDetails?.appointmentDate
},
// Override payment details (empty because we skip payment method page in insurance flow)
paymentDetails: {},
// Experiments
experiments: {
...getDefaultExperimentsData()
}
}
const insuranceNoCompProgressiveTests: ITestCase[] = [];
const tc = {
name: `InsuranceNoCompProgressive`,
tags: ['@E2E','@InsuranceNoCompProgressive', '@test_report', '@Insurance'],
testData: insuranceNoCompProgressiveData
};
insuranceNoCompProgressiveTests.push(tc);
export default insuranceNoCompProgressiveTests;