In scenarios that reach the order confirmation page, the query string includes more than the issPageValue, whiche was breaking validateURL
50 lines
No EOL
2.1 KiB
TypeScript
50 lines
No EOL
2.1 KiB
TypeScript
import test, { expect, type Locator, type Page } from '@playwright/test';
|
|
import { BasePage } from './BasePage';
|
|
|
|
export class ProviderPreferencePage extends BasePage {
|
|
readonly page: Page;
|
|
readonly scheduleWithSafelite: Locator;
|
|
readonly scheduleWithOther: Locator;
|
|
readonly acknowledgeAdasButton: Locator;
|
|
readonly gotItButton: Locator;
|
|
readonly acknowledgeCheckbox: Locator;
|
|
readonly stateLawModalHeading: Locator;
|
|
issPageValue = 'provider-preference';
|
|
|
|
constructor(page: Page) {
|
|
super(page);
|
|
this.page = page;
|
|
// this.scheduleWithSafelite = this.page.locator('div').filter({ hasText: /Schedule online with |Safelite AutoGlass/ }).first();
|
|
this.scheduleWithSafelite = this.page.getByText(/Schedule online with|Safelite AutoGlass/).first();
|
|
this.scheduleWithOther = this.page.getByText(/Find another shop|Choose my own shop/).first();
|
|
this.acknowledgeAdasButton = this.page.getByLabel('I acknowledge that my vehicle');
|
|
this.gotItButton = this.page.getByRole('button', { name: 'Got it' });
|
|
this.acknowledgeCheckbox = this.page.locator('#tpaAcknowledgement');
|
|
this.stateLawModalHeading = this.page.getByRole('heading').filter({ hasText: /.* State Law/});
|
|
}
|
|
|
|
async selectProvider(isSafelite = true) {
|
|
if (isSafelite) {
|
|
await this.scheduleWithSafelite.click();
|
|
await this.nextPage();
|
|
}
|
|
else {
|
|
await this.scheduleWithOther.waitFor({ state: 'visible' });
|
|
await this.scheduleWithOther.click();
|
|
await this.continueButton.click();
|
|
//if(await this.acknowledgeAdasButton.isEnabled({timeout: 2500})){
|
|
// await this.acknowledgeAdasButton.click();
|
|
// await this.gotItButton.click();
|
|
// await this.page.waitForTimeout(1000);
|
|
//}
|
|
}
|
|
}
|
|
async acknowledgeRecalNotificaiton() {
|
|
await this.acknowledgeAdasButton.click();
|
|
await this.gotItButton.click();
|
|
}
|
|
|
|
async validateStateLawModalIsVisible() {
|
|
await expect.soft(this.stateLawModalHeading).toBeVisible();
|
|
}
|
|
} |