DigitalConsumer.ISS/playwright-tests/pages/TpaConfirmationPage.ts
2026-03-20 10:32:40 -04:00

33 lines
No EOL
1.4 KiB
TypeScript

import { expect, type Locator, type Page } from '@playwright/test';
import { BasePage } from './BasePage';
export class TpaConfirmationPage extends BasePage {
readonly page: Page;
readonly successMessage: Locator;
readonly shopConfirmationMessage: Locator;
readonly issPageValue = 'tpa-confirmation';
constructor(page: Page) {
super(page);
this.page = page;
this.successMessage = page.getByText('Thank you for submitting your claim; there is one final step.');
this.shopConfirmationMessage = page.locator('div.subheader').first()
}
async getTpaShopSelectedName() {
const sessionStorage = JSON.parse(await this.page.evaluate('sessionStorage.getItem(\'submittedOrder\')'));
const tpaShopSelectedName = sessionStorage.serviceLocation.provider.companyName;
return tpaShopSelectedName;
}
async validateSuccessMessage() {
const shopConfirmationMessageText = await this.shopConfirmationMessage.textContent();
const tpaShopSelectedNameText = await this.getTpaShopSelectedName();
await this.successMessage.waitFor({ state: 'visible' });
await expect(this.successMessage).toBeVisible();
expect.soft(shopConfirmationMessageText?.toLowerCase()).toContain(
('Your information has been sent to' + ' ' + tpaShopSelectedNameText).toLowerCase()
);
}
}