DigitalConsumer.FixMyGlass/playwright-tests/tests/alert-validation/alert0003_SplitWindshield.ts
maguire-arman 54a8036a0d Adds split windshield support and alert test
Adds support for split windshield damage selection and validation.
Introduces new vehicle damage types and corresponding UI elements on the vehicle damage page.
Also, adds a new alert message to handle the scenario where both single-piece and split windshield options are selected.
The changes enhance the accuracy of vehicle damage assessment.
2025-06-19 13:01:56 -04:00

73 lines
No EOL
2.2 KiB
TypeScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// Imports here
import { ITestData } from "@business-logic/types/ITestData";
import TestCase from "@business-logic/types/TestCase";
import { VehicleDamage } from "@business-logic/types/Enums";
import { defaultTestData, getDefaultTestData } from "@business-logic/constants/DefaultTestData";
// Windshield selected, when vehicle has split windshield (alert) Test Data
const splitWindshieldData: Partial<ITestData> = {
...defaultTestData, // Start with all defaults
// Override specific fields with test-specific data
vehicleDamage: [
VehicleDamage.SingleSplitWindshield,
VehicleDamage.DriverSplitWindshield,
VehicleDamage.PassengerSplitWindshield
],
alertFlags: {
isSplitWindshield: true
},
customerDetails: {
...getDefaultTestData().customerDetails!,
address: {
...getDefaultTestData().customerDetails!.address,
postalCode: '55414'
}
},
isHeavyTruck: true, // Flag for heavy truck vehicle
};
const vehiclesToTest = [
{
year: '2000',
make: 'Kenworth',
model: 'T450',
style: 'conventional cab'
},
{
year: '2006',
make: 'Navistar',
model: '5000 I',
style: '2 door conventional cab'
},
{
year: '1990',
make: 'Kenworth',
model: 'T600',
style: 'conventional cab'
},
];
const splitWindshieldTests: TestCase[] = [];
// Generate test cases for each vehicle
vehiclesToTest.forEach((vehicle, index) => {
    const testData = {
        ...splitWindshieldData,
        vehicleDetails: {
            ...defaultTestData.vehicleDetails!,
            ...vehicle
        },
    };
const tc = new TestCase({
name: `alert0003_${vehicle.make.toLowerCase()}_${vehicle.model.toLowerCase()} Windshield selected, when vehicle has split windshield - ${vehicle.make} ${vehicle.model} ${vehicle.year}`,
tags: ['@Alert', '@SplitWindshield', '@test_report', `@${vehicle.make.toLowerCase()}`],
testData: testData
}, undefined, `SpliWindshield${index + 1}`);
splitWindshieldTests.push(tc);
});
export default splitWindshieldTests;