//Imports here import { ITestData, getDefaultExperimentsData } from 'framework/TestData' import { VehicleDamage, PartQuestionType, PaymentType } from 'safelite-playwright-core'; import { ITestCase } from '../framework/Typedefs' import { VehicleLookupType } from 'safelite-playwright-core'; import { getDefaultTestData, setFakerSeedFromTestName } from 'safelite-playwright-core'; import { PaymentMethod } from 'framework/localTypes/Enums'; // Set the seed before generating any data setFakerSeedFromTestName("CashReplaceMultiGlassPromoInshop"); // Now get the test data with the seeded faker const cashReplaceMultiGlassPromoInshopData: Partial = { ...getDefaultTestData(), // Get default data with current seed // CASH Client paymentMethod: PaymentMethod.SelfPay, // Flag for recalibration vehicle isRecalVehicle: true, // Override customer details - different postal code customerDetails: { ...getDefaultTestData().customerDetails!, address: { ...getDefaultTestData().customerDetails!.address, postalCode: '43085' } }, // Override vehicle details with VIN lookup vehicleDetails: { ...getDefaultTestData().vehicleDetails!, year: '2019', make: 'Subaru', model: 'Outback', style: '4 door station wagon', // vin: '4S4BSENC4K3221004', vehicleLookupType: VehicleLookupType.Zip }, // Special flag to skip estimate page isSkipEstimatePage: true, // Key feature: multiple damaged glasses vehicleDamage: [ VehicleDamage.WindshieldCrack, VehicleDamage.DriverFrontDoor, VehicleDamage.DriverRearDoor, VehicleDamage.DriverVentGlass, VehicleDamage.PassengerVentGlass, VehicleDamage.RearWindow ], // Override payment details paymentDetails: { paymentType: PaymentType.PayAtService, // Add promo code promoCode: '20CALL', }, // override part questions partQuestions: [ { partQuestionType: PartQuestionType.GeneralQuestion1, isOnPage: true, optionToSelect: 'Yes' } ], // Vehicle part questions for multiple glass parts vehiclePartQuestions: [ { partQuestionType: PartQuestionType.WindshieldColor, isOnPage: true, optionToSelect: 'Green Tint, Blue Shade', secondaryQuestionOptionToSelect: 'solar, lane departure warning system, hwp, high beam assist, soundproofing' }, { partQuestionType: PartQuestionType.DriverFrontColor, isOnPage: true, optionToSelect: 'Green Tint', secondaryQuestionOptionToSelect: 'solar, driver side, front, soundproofing, laminated' }, { partQuestionType: PartQuestionType.DriverRearColor, isOnPage: true, optionToSelect: 'Gray Tint Privacy', secondaryQuestionOptionToSelect: 'solar, driver side, rear' }, { partQuestionType: PartQuestionType.DriverVentColor, isOnPage: true, optionToSelect: 'Gray Tint Privacy', secondaryQuestionOptionToSelect: 'solar, driver side, rear' }, { partQuestionType: PartQuestionType.PassengerVentColor, isOnPage: true, optionToSelect: 'Gray Tint Privacy', secondaryQuestionOptionToSelect: 'solar, passenger side, rear' }, { partQuestionType: PartQuestionType.RearWindowColor, isOnPage: true, optionToSelect: 'Green Tint', secondaryQuestionOptionToSelect: 'heated glass, solar, antenna, manual liftgate, 1 hole' } ], // Experiments experiments: { ...getDefaultExperimentsData() } } const cashReplaceMultiGlassPromoInshopTests: ITestCase[] = []; const tc = { name: `CashReplaceMultiGlassPromoInshop`, tags: ['@E2E','@CashReplaceMultiGlassPromoInshop', '@test_report', '@CASH', '@CASH-1182'], testData: cashReplaceMultiGlassPromoInshopData }; cashReplaceMultiGlassPromoInshopTests.push(tc); export default cashReplaceMultiGlassPromoInshopTests;