// Imports here
import { ITestData } from "@business-logic/types/ITestData";
import { VehicleDamage, AppointmentType } from "@business-logic/types/Enums";
import TestCase from "@business-logic/types/TestCase";
import { getNextWeekday } from "@impl/utils/DateUtils";
import { defaultTestData } from "@business-logic/constants/DefaultTestData";

// Both repair and replace selected (alert) Test Data
const repairAndReplaceData: Partial<ITestData> = {
    ...defaultTestData,  // Start with all defaults

    // Override specific fields with test-specific data
    vehicleDetails: {
        ...defaultTestData.vehicleDetails!,
        year: '2020',
        make: 'Acura',
        model: 'ILX',
        style: '4 door sedan'
    },
    vehicleDamage: [
        VehicleDamage.WindshieldOneChip,
        VehicleDamage.RearWindow
    ],
    appointmentDetails: {
        serviceLocation: AppointmentType.DropOff,
        appointmentDate: getNextWeekday()
    },
    alertFlags: {
        isRepairReplace: true
    }
};

const repairAndReplaceTests: TestCase[] = [];

const tc = new TestCase({
    name: `alert0002 Both repair and replace selected`,
    tags: ['@Alert', '@RepairReplace', '@test_report'],
    testData: repairAndReplaceData
}, undefined, 'RepairReplace');
repairAndReplaceTests.push(tc);

export default repairAndReplaceTests;