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';
|
||
|
||
export class CoverageStatementPage extends BasePage {
|
||
readonly page: Page;
|
||
readonly scheduleOnlineButton: Locator;
|
||
readonly cancelMyClaimButton: Locator;
|
||
readonly cancelMyClaimConfirm: Locator;
|
||
readonly deductibleAmount: Locator;
|
||
readonly verfiyingCoverageText: Locator;
|
||
readonly continueToScheduleButton: Locator; // For ITAC/NoComp
|
||
issPageValue = 'coverage-statement';
|
||
|
||
constructor(page: Page) {
|
||
super(page);
|
||
this.page = page;
|
||
this.scheduleOnlineButton = this.page.getByText('Continue to schedule online');
|
||
this.cancelMyClaimButton = this.page.getByText('Cancel my claim');
|
||
this.cancelMyClaimConfirm = this.page.getByText('No, I want to cancel');
|
||
|
||
this.deductibleAmount = this.page.getByText('$');
|
||
this.verfiyingCoverageText = this.page.getByRole('heading', { name: 'We’re verifying your coverage' });
|
||
this.continueToScheduleButton = page.locator('div[class*="button-content"]', {hasText:'Continue to schedule online'});
|
||
}
|
||
|
||
async scheduleOnline(){
|
||
await this.scheduleOnlineButton.click();
|
||
}
|
||
|
||
async cancelMyClaim(){
|
||
await this.cancelMyClaimButton.click();
|
||
await this.cancelMyClaimConfirm.click();
|
||
}
|
||
|
||
async validateDeductibleAmount(customer){
|
||
await expect(this.deductibleAmount). toContainText(`$${customer.deductibleAmount}`, {timeout: 60000});
|
||
}
|
||
|
||
async validateUnverifiedText(){
|
||
await expect(this.verfiyingCoverageText).toBeEnabled();
|
||
}
|
||
} |