42 lines
No EOL
1.6 KiB
TypeScript
42 lines
No EOL
1.6 KiB
TypeScript
import { expect, type Locator, type Page } from '@playwright/test';
|
|
import { BasePage } from './BasePage';
|
|
import { IAppointmentDetails } from '@business-logic/types/CustomerDetails';
|
|
import { ServiceLocation } from '@business-logic/types/Enums';
|
|
import { AddressForm } from './forms/AddressForm';
|
|
import { faker } from '@faker-js/faker';
|
|
|
|
export class ServiceLocationPage extends BasePage {
|
|
readonly page: Page;
|
|
|
|
readonly addressForm: AddressForm;
|
|
|
|
// Initial selection
|
|
readonly inShopButton: Locator;
|
|
readonly mobileButton: Locator;
|
|
readonly dropOffButton: Locator;
|
|
readonly RecalWarningMessage1: Locator;
|
|
readonly RecalWarningMessage2: Locator;
|
|
readonly militaryWarningMessage: Locator;
|
|
|
|
constructor(page: Page) {
|
|
super(page);
|
|
this.page = page;
|
|
|
|
this.addressForm = new AddressForm(page);
|
|
|
|
// Initial selection
|
|
this.inShopButton = this.page.locator('[buttonlabel="In-shop"]');
|
|
this.mobileButton = this.page.locator('[buttonlabel="Mobile"]')
|
|
this.dropOffButton = this.page.locator('[buttonlabel="Drop-off"]');
|
|
this.RecalWarningMessage1 = this.page.getByText(/We're not able to provide mobile service/);
|
|
this.RecalWarningMessage2 = this.page.getByText(/advanced safety system recalibration needs to be done in our shop./);
|
|
this.militaryWarningMessage = this.page.locator('[class*="widget-name-AlertMilitaryBaseZipWidget"]');
|
|
|
|
}
|
|
|
|
async validateRecalWarning(){
|
|
await expect(this.RecalWarningMessage1).toBeVisible();
|
|
await expect(this.RecalWarningMessage2).toBeVisible();
|
|
|
|
}
|
|
} |