// File for the Test Data Structure

import { IAppointmentDetails, IClaimDetails, ICustomerDetails, IPaymentDetails, IVehicleDetails, IPartQuestion, IEndorsementDetails } from "./CustomerDetails";
import { PaymentMethod, ServicePackage, VehicleDamage } from "./Enums";
import IAlertFlags from "./IAlertFlags";

export interface ITestData {

    paymentMethod: PaymentMethod
    servicePackage: ServicePackage,
    customerDetails: ICustomerDetails,
    vehicleDetails: IVehicleDetails,
    vehicleDamage: VehicleDamage[],
    appointmentDetails: IAppointmentDetails,
    paymentDetails: IPaymentDetails,
    claimDetails: IClaimDetails,
    alertFlags: IAlertFlags,
    partQuestions: IPartQuestion[],         // part-questions page has unrelated part questions like leather seats
    vehiclePartQuestions: IPartQuestion[],  // vehicle-parts page usually has glass question
    capabilityQuestions: IPartQuestion[],   // Capability questions page usually has questions about autonomous driving features
    moldingQuestions: IPartQuestion[],
    enterFunnelWithZip: boolean,
    isDuplicateClaim: boolean,
    isPolicyDriver: boolean, // Does the Policy Driver Page show up for the insurance claim?
    isPolicyFound: boolean,
    otherVehiclesOnPolicy: IVehicleDetails[],   // IF defined, we validate that the vehicles are present.
    isUseVehicleOnPolicy: boolean,  // Should we use the vehicle on the policy?
    isRecalNotification: boolean,  // Does Recalibration Information page show up?
    endorsements: IEndorsementDetails[],
    hasOemEndorsement: boolean,     // OEM Endorsement does not appear on endorsements page, so it has a separate flag.s
    skipEstimatePage: boolean,
    isRecalVehicle: boolean,
    canNotRecal: boolean,
    dynamicRecal: boolean,
    promoCode: string
}