28 lines
No EOL
1.2 KiB
TypeScript
28 lines
No EOL
1.2 KiB
TypeScript
import { type Page, Locator } from '@playwright/test';
|
|
import { LookupPage } from './LookupPage';
|
|
import { AddressForm } from './forms/AddressForm';
|
|
import { VehicleSelectionForm } from './forms/VehicleSelectionForm';
|
|
import { ICustomerDetails, IVehicleDetails } from '@business-logic/types/CustomerDetails';
|
|
|
|
export class VehicleLookupAddressPage extends LookupPage {
|
|
readonly addressForm: AddressForm;
|
|
readonly vehicleSelectionForm: VehicleSelectionForm;
|
|
|
|
url = process.env['BASE_URL']! + '/fmg/?fmgPage=service-zip';
|
|
|
|
constructor(page: Page) {
|
|
super(page);
|
|
this.addressForm = new AddressForm(page);
|
|
this.vehicleSelectionForm = new VehicleSelectionForm(page);
|
|
|
|
// Override the unserviceableZipAlertMessage for address-specific message
|
|
this.unserviceableZipAlertMessage = this.page.locator('div.alert-danger.widget-name-AlertVinNotFoundWidget',
|
|
{ hasText: "Your address didn't return a VIN match." });
|
|
}
|
|
|
|
async lookupVehicleByAddress(customerDetails: ICustomerDetails, vehicleDetails: IVehicleDetails) {
|
|
await this.addressForm.populateAddress(customerDetails);
|
|
//await this.nextPage();
|
|
//await this.vehicleSelectionForm.selectVehicle(vehicleDetails);
|
|
}
|
|
} |