DigitalConsumer.FixMyGlass/playwright-tests/tests/CashReplaceGlassPromoInshop.ts
maguire-arman 404dda6556 Adds Playwright test framework for FMG
Initial commit of the Playwright test framework, including:
- Configuration files for Playwright, Docker, and Sauce Labs
- Test case structure and page object models
- CI/CD pipeline configuration
- Utilities and business logic implementations

This framework will be used for end-to-end testing of the FMG application.
2025-04-07 15:40:31 -04:00

55 lines
No EOL
1.8 KiB
TypeScript

//Imports here
import { ITestData } from "@business-logic/types/ITestData"
import { 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 before generating any data
setFakerSeedFromTestName("CashReplaceGlassPromoInshop");
// Now get the test data with the seeded faker
const cashReplaceGlassPromoInshopData: Partial<ITestData> = {
...getDefaultTestData(), // Get default data with current seed
// Add promo code - key feature of this test
promoCode: '20CALL',
// Flag for recalibration vehicle
isRecalVehicle: true,
// Override vehicle details with VIN lookup
vehicleDetails: {
...getDefaultTestData().vehicleDetails!,
year: '2020',
make: 'Ford',
model: 'Fusion',
style: '4 door sedan',
vin: '3FA6P0HD8LR234510',
vehicleLookupType: VehicleLookupType.Vin
},
// No need to override vehicleDamage as it already defaults to WindshieldCrack
// Override appointment details for in-shop service
appointmentDetails: {
...getDefaultTestData().appointmentDetails!,
shopAddress: "6826 Sawmill Rd, Columbus, OH 43235"
},
// Override payment details
paymentDetails: {
paymentType: PaymentType.PayAtService
}
}
const cashReplaceGlassPromoInshopTests: TestCase[] = [];
const tc = new TestCase({
name: `CashReplaceGlassPromoInshop`,
tags: ['@E2E','@CashReplaceGlassPromoInshop', '@test_report', '@CASH'],
testData: cashReplaceGlassPromoInshopData
}, undefined, 'CashReplaceGlassPromoInshop');
cashReplaceGlassPromoInshopTests.push(tc);
export default cashReplaceGlassPromoInshopTests;