From bd11b53413ac068fd99bd4b9f522953d3fa00882 Mon Sep 17 00:00:00 2001 From: JennyNou Date: Thu, 19 Mar 2026 10:53:31 -0400 Subject: [PATCH] Clean up locators and validation --- .../pages/ProviderPreferencePage.ts | 27 +++++++++---------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/playwright-tests/pages/ProviderPreferencePage.ts b/playwright-tests/pages/ProviderPreferencePage.ts index 1199a8bb..58525955 100644 --- a/playwright-tests/pages/ProviderPreferencePage.ts +++ b/playwright-tests/pages/ProviderPreferencePage.ts @@ -8,10 +8,12 @@ export class ProviderPreferencePage extends BasePage { readonly acknowledgeAdasCheckbox: Locator; readonly gotItButton: Locator; + readonly tpaRecalModal: Locator; readonly learnMoreLink: Locator; readonly yesButton: Locator; readonly noButton: Locator; readonly acknowledgeCheckbox: Locator; + readonly tpaRecalModalContinueButton: Locator; readonly stateLawModalText: Locator; readonly stateLawModalOkayButton: Locator; issPageValue = 'provider-preference'; @@ -24,14 +26,14 @@ export class ProviderPreferencePage extends BasePage { this.findAnotherShopButton = this.page.getByRole('link', { name: 'Find another shop' }); //Recal modal + this.tpaRecalModal = this.page.locator('#TPARecalModal'); this.learnMoreLink = this.page.locator('#moreDetails'); - this.yesButton = this.page.getByRole('button', { name: 'Yes' }); // schedule with Safelite - this.noButton = this.page.getByRole('button', { name: 'No' }); // find another shop (TPA?) - this.acknowledgeAdasCheckbox = this.page.getByRole('checkbox', { name: 'tpaAcknowledgement' }); // shows up when user clicks no on recal modal + this.yesButton = this.page.getByText('Yes', { exact: true }); // schedule with Safelite + this.noButton = this.page.getByText('No', { exact: true }); // schedule with TPA + this.acknowledgeAdasCheckbox = this.page.getByRole('checkbox', { name: /I acknowledge/i }) + this.tpaRecalModalContinueButton = this.page.locator('#modalbtn', { hasText: 'Continue' }); - - this.gotItButton = this.page.getByRole('button', { name: 'Got it' }); - this.acknowledgeCheckbox = this.page.locator('#tpaAcknowledgement'); + // State law modal this.stateLawModalText = this.page.getByText(/law prohibits us from requiring you.*You have the right to select the motor vehicle repair shop of your choice\./is); this.stateLawModalOkayButton = this.page.getByRole('button', { name: 'Okay' }) } @@ -44,25 +46,22 @@ export class ProviderPreferencePage extends BasePage { else { await this.findAnotherShopButton.waitFor({ state: 'visible' }); await this.findAnotherShopButton.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); - //} + await this.tpaRecalModal.waitFor({ state: 'visible' }); + await this.scheduleTPAWithAdas(); } } + async scheduleWithSafeliteADAS() { await this.learnMoreLink.click(); await this.yesButton.click(); - await this.continueButton.click(); + await this.tpaRecalModalContinueButton.click(); } async scheduleTPAWithAdas() { await this.learnMoreLink.click(); await this.noButton.click(); await this.acknowledgeAdasCheckbox.click(); - await this.continueButton.click(); + await this.tpaRecalModalContinueButton.click(); } async validateStateLawModalIsVisible() {