In scenarios that reach the order confirmation page, the query string includes more than the issPageValue, whiche was breaking validateURL
26 lines
No EOL
1.2 KiB
TypeScript
26 lines
No EOL
1.2 KiB
TypeScript
import { type Locator, type Page } from '@playwright/test';
|
|
import { BasePage } from './BasePage';
|
|
import { ServicePackage } from '@business-logic/types/Enums';
|
|
|
|
export class ServicePackagesPage extends BasePage {
|
|
readonly page: Page;
|
|
readonly standardPackageButton: Locator;
|
|
readonly premiumPackageButton: Locator;
|
|
readonly glassOnlyButton: Locator;
|
|
issPageValue = 'service-packages';
|
|
|
|
constructor(page: Page) {
|
|
super(page);
|
|
this.page = page;
|
|
this.standardPackageButton = this.page.locator('li').filter({ hasText: 'Standard' });
|
|
this.premiumPackageButton = this.page.locator('li').filter({ hasText: 'Premium' });
|
|
this.glassOnlyButton = this.page.locator('li').filter({ hasText: 'Glass service' });
|
|
// this.validateURL(this.url);
|
|
}
|
|
|
|
async selectServicePackage(servicePackage: ServicePackage){
|
|
await this.page.getByText(servicePackage).click();
|
|
return (`${await this.page.locator('li').filter({ hasText: 'Premium' }).locator('[class="pricing-info"]').allInnerTexts()}`);
|
|
//return (`${await this.page.getByText(servicePackage).locator('[class="pricing-info"]').allInnerTexts()}`);
|
|
}
|
|
} |