//Imports here
import { ITestData } from 'framework/TestData'
import { VehicleDamage, ServiceLocation } from 'safelite-playwright-core';
import { ITestCase } from '../../framework/Typedefs';
import { getNextWeekday } from 'safelite-playwright-core';
import { defaultTestData } from 'safelite-playwright-core';
import { getDefaultTestData, setFakerSeedFromTestName } from 'safelite-playwright-core';

// Heavy Truck (alert) Test Data
const heavyTruckData: Partial<ITestData> = {
    ...defaultTestData,  // Start with all defaults


    isHeavyTruck: true,  // Flag for heavy truck vehicle

    customerDetails: {
        ...getDefaultTestData().customerDetails!,
        address: {
            ...getDefaultTestData().customerDetails!.address,
            postalCode: '21237'
        }
    },

    // Override specific fields with test-specific data
    vehicleDetails: {
        ...defaultTestData.vehicleDetails!,
        year: '2017',
        make: 'Freightliner',
        model: '114sd',
        style: 'conventional cab'
    },
    alertFlags: {
        isHeavyTruckVehicleAlert: true
    },
    vehicleDamage: [
        VehicleDamage.WindshieldOneChip,
        VehicleDamage.RearWindow
    ],
    appointmentDetails: {
        serviceLocation: ServiceLocation.DropOff,
        appointmentDate: getNextWeekday()
    }
};

const heavyTruckTests: ITestCase[] = [];

const tc: ITestCase =  {
    name: `alert0001 Heavy Truck`,
    tags: ['@Alert', '@HeavyTruck', '@test_report', '@CASH-1187'],
    testData: heavyTruckData
};

heavyTruckTests.push(tc);

export default heavyTruckTests;