From 92a6bc141add792e5bc1c9296e04368f02b8f5b1 Mon Sep 17 00:00:00 2001 From: JennyNou <167806377+JennyNou@users.noreply.github.com> Date: Fri, 1 Aug 2025 13:34:35 -0400 Subject: [PATCH 1/8] Comment out progress bar validation function --- playwright-tests/pages/BasePage.ts | 32 +++++++++++++++--------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/playwright-tests/pages/BasePage.ts b/playwright-tests/pages/BasePage.ts index ec6c5d767..30df48447 100644 --- a/playwright-tests/pages/BasePage.ts +++ b/playwright-tests/pages/BasePage.ts @@ -131,24 +131,24 @@ export class BasePage { } async validateProgressBar(progressPercentage: string, timeout: number = 60000) { + // This section has been commented out until progress bar work is completed for parity. - - await waitUntil(async () => { - let loaderElements = await this.page.locator('button .loader, .buy-loader, timeout, .modal-loader').all(); - return !(await Promise.any(loaderElements.map(el => el.isVisible())).catch(() => false)); - }); + // await waitUntil(async () => { + // let loaderElements = await this.page.locator('button .loader, .buy-loader, timeout, .modal-loader').all(); + // return !(await Promise.any(loaderElements.map(el => el.isVisible())).catch(() => false)); + // }); - // Take a screenshot of the page before validating the progress bar - await this.page.screenshot({ path: `test-results\\ortoni-data\\progress-bar-${Date.now()}.png`, fullPage: true }); - // Wait until the progress bar element is attached and visible + // // Take a screenshot of the page before validating the progress bar + // await this.page.screenshot({ path: `test-results\\ortoni-data\\progress-bar-${Date.now()}.png`, fullPage: true }); + // // Wait until the progress bar element is attached and visible - const actualProgressPercentage = await this.progressBar.evaluate( - async (element) => { - await new Promise(resolve => setTimeout(resolve, 200)); - return element.style.width || "Not Found"; - } - ); - Soft.expect(actualProgressPercentage).toBe(progressPercentage); - console.log(`Progress Bar Percentage: Actual - ${actualProgressPercentage} vs Expected - ${progressPercentage}`); + // const actualProgressPercentage = await this.progressBar.evaluate( + // async (element) => { + // await new Promise(resolve => setTimeout(resolve, 200)); + // return element.style.width || "Not Found"; + // } + // ); + // Soft.expect(actualProgressPercentage).toBe(progressPercentage); + // console.log(`Progress Bar Percentage: Actual - ${actualProgressPercentage} vs Expected - ${progressPercentage}`); } } \ No newline at end of file From 1011e0ee448f460e07683ba7fc6515ae9dce6608 Mon Sep 17 00:00:00 2001 From: JennyNou <167806377+JennyNou@users.noreply.github.com> Date: Fri, 1 Aug 2025 13:44:13 -0400 Subject: [PATCH 2/8] Add to comment --- playwright-tests/pages/BasePage.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/playwright-tests/pages/BasePage.ts b/playwright-tests/pages/BasePage.ts index 30df48447..bcaeab3ec 100644 --- a/playwright-tests/pages/BasePage.ts +++ b/playwright-tests/pages/BasePage.ts @@ -132,6 +132,7 @@ export class BasePage { async validateProgressBar(progressPercentage: string, timeout: number = 60000) { // This section has been commented out until progress bar work is completed for parity. + // Uncomment when ready. // await waitUntil(async () => { // let loaderElements = await this.page.locator('button .loader, .buy-loader, timeout, .modal-loader').all(); From d217f9ee44c33f6f4dcd5637645c5798c8004aa6 Mon Sep 17 00:00:00 2001 From: maguire-arman Date: Fri, 1 Aug 2025 13:52:08 -0400 Subject: [PATCH 3/8] Comments out progress bar validation. Comments out the progress bar validation code. This is done because the progress bar implementation is not yet complete. The validation will be re-enabled when the progress bar work is finished. --- playwright-tests/pages/BasePage.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/playwright-tests/pages/BasePage.ts b/playwright-tests/pages/BasePage.ts index bcaeab3ec..30df48447 100644 --- a/playwright-tests/pages/BasePage.ts +++ b/playwright-tests/pages/BasePage.ts @@ -132,7 +132,6 @@ export class BasePage { async validateProgressBar(progressPercentage: string, timeout: number = 60000) { // This section has been commented out until progress bar work is completed for parity. - // Uncomment when ready. // await waitUntil(async () => { // let loaderElements = await this.page.locator('button .loader, .buy-loader, timeout, .modal-loader').all(); From 08e51f5dde260d11b68b306aa2685f3a6c08943e Mon Sep 17 00:00:00 2001 From: maguire-arman Date: Fri, 1 Aug 2025 14:04:00 -0400 Subject: [PATCH 4/8] Test commit to trigger pipeline --- playwright-tests/pages/BasePage.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/playwright-tests/pages/BasePage.ts b/playwright-tests/pages/BasePage.ts index 30df48447..0c2779ba2 100644 --- a/playwright-tests/pages/BasePage.ts +++ b/playwright-tests/pages/BasePage.ts @@ -132,6 +132,7 @@ export class BasePage { async validateProgressBar(progressPercentage: string, timeout: number = 60000) { // This section has been commented out until progress bar work is completed for parity. + // // await waitUntil(async () => { // let loaderElements = await this.page.locator('button .loader, .buy-loader, timeout, .modal-loader').all(); From b4fd2ed9703434bb937e66947305633e6518cfa5 Mon Sep 17 00:00:00 2001 From: maguire-arman Date: Fri, 1 Aug 2025 14:14:55 -0400 Subject: [PATCH 5/8] test commit to trigger pipeline 2 Comments out the progress bar validation logic in the base page. This is a temporary measure until the progress bar implementation is completed. --- playwright-tests/pages/BasePage.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/playwright-tests/pages/BasePage.ts b/playwright-tests/pages/BasePage.ts index 0c2779ba2..c5326504d 100644 --- a/playwright-tests/pages/BasePage.ts +++ b/playwright-tests/pages/BasePage.ts @@ -132,7 +132,7 @@ export class BasePage { async validateProgressBar(progressPercentage: string, timeout: number = 60000) { // This section has been commented out until progress bar work is completed for parity. - // + // await waitUntil(async () => { // let loaderElements = await this.page.locator('button .loader, .buy-loader, timeout, .modal-loader').all(); From 94aaad64d3c706bdfe590623143a8b558b6aa4d2 Mon Sep 17 00:00:00 2001 From: maguire-arman Date: Fri, 1 Aug 2025 14:25:04 -0400 Subject: [PATCH 6/8] test commit test commit --- playwright-tests/pages/BasePage.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/playwright-tests/pages/BasePage.ts b/playwright-tests/pages/BasePage.ts index c5326504d..30df48447 100644 --- a/playwright-tests/pages/BasePage.ts +++ b/playwright-tests/pages/BasePage.ts @@ -133,7 +133,6 @@ export class BasePage { async validateProgressBar(progressPercentage: string, timeout: number = 60000) { // This section has been commented out until progress bar work is completed for parity. - // await waitUntil(async () => { // let loaderElements = await this.page.locator('button .loader, .buy-loader, timeout, .modal-loader').all(); // return !(await Promise.any(loaderElements.map(el => el.isVisible())).catch(() => false)); From 9901b84bc68ccc82ac745f039750f18665acef53 Mon Sep 17 00:00:00 2001 From: maguire-arman Date: Fri, 1 Aug 2025 14:37:00 -0400 Subject: [PATCH 7/8] Removes trailing whitespace from .env.dev Removes an unnecessary empty line at the end of the .env.dev file, improving code cleanliness. --- playwright-tests/.env.dev | 1 - 1 file changed, 1 deletion(-) diff --git a/playwright-tests/.env.dev b/playwright-tests/.env.dev index 0f8e62d0c..00c66dc6c 100644 --- a/playwright-tests/.env.dev +++ b/playwright-tests/.env.dev @@ -27,4 +27,3 @@ ADMIN_SERVICE_API_URL="https://issadminapi.dev.sagaws.net/iss-admin/api/v1/" # API authentication (replace with actual value when running tests) CCIS_API_AUTH="undefined" - From 900704150bd8ea20e0f7b22493e9135916c04319 Mon Sep 17 00:00:00 2001 From: Chris Redelinghuys Date: Fri, 1 Aug 2025 16:14:06 -0400 Subject: [PATCH 8/8] CASH-1183: Shop location and timeslot parity updates --- .../date-picker/date-picker.vue | 11 -- src/layouts/schedule/schedule.vue | 56 +++----- .../schedule/shop-location/shop-location.vue | 120 ++++++++++++++++++ .../time-slot-modal-list-button.vue | 2 +- src/styles/shared-input-button-styles.scss | 2 +- 5 files changed, 143 insertions(+), 48 deletions(-) create mode 100644 src/layouts/schedule/shop-location/shop-location.vue diff --git a/src/digital-components/date-picker/date-picker.vue b/src/digital-components/date-picker/date-picker.vue index 8033f5b41..858ddb3e4 100644 --- a/src/digital-components/date-picker/date-picker.vue +++ b/src/digital-components/date-picker/date-picker.vue @@ -1470,19 +1470,8 @@ export default { display: flex; max-width: 100%; flex-wrap: wrap; - gap: 0 0.5rem; & > div { - flex: 0 0 calc(50% - 0.25rem); - } - } - :deep(.button-question.is-mobile-appointment) { - .button-inner-wrapper > div { - flex: 0 0 100%; - } - } - :deep(.button-question.is-drop-off-appointment) { - .button-inner-wrapper > div { flex: 0 0 100%; } } diff --git a/src/layouts/schedule/schedule.vue b/src/layouts/schedule/schedule.vue index 241df49cd..48dc66ad2 100644 --- a/src/layouts/schedule/schedule.vue +++ b/src/layouts/schedule/schedule.vue @@ -86,17 +86,19 @@ class="row your-shop-location" v-if="appointmentType && appointmentType !== appointmentTypeStrings.MOBILE">
- +
+ +
-
@@ -163,9 +157,8 @@ import alert from "@/ux-components/alert/alert"; import serviceZipModalQuestion from "@/layouts/service-location/service-zip-modal-question/service-zip-modal-question"; import appointmentTypeQuestion from "@/layouts/service-location/appointment-type-question/appointment-type-question"; import shopQuestion from "@/layouts/service-location/shop-question/shop-question"; -import shopQuestionPopup from "@/layouts/service-location/shop-question/shop-question-popup"; -import buttonQuestion from "@/digital-components/button-question/button-question.vue"; import shopListButton from "@/layouts/service-location/shop-question/shop-list-button/shop-list-button"; +import shopLocation from "@/layouts/schedule/shop-location/shop-location"; import funnelHeader from "@/fmg-components/funnel-header/funnel-header"; import navbar from "@/fmg-components/nav-bar/nav-bar"; @@ -774,21 +767,15 @@ export default { const zipCode = this.selectedProvider.address.zipCode; const distanceInMiles = provider ? Math.round(provider.distanceInMiles * 2) / 2 : 0; - return [ - { - buttonLabel: `${city}`, - buttonLabelSubCopy: `${distanceInMiles} mi`, - buttonBodyCopy: `${streetAddress}, ${city}, ${state} ${zipCode}`, - additionalButtonData: this.additionalButtonData, - value: this.selectedProvider.providerNumber, - }, - ]; + return { + city: `${city}`, + distance: `${distanceInMiles} mi`, + address1: `${streetAddress}`, + address2: `${city}, ${state} ${zipCode}`, + }; } return []; }, - questionText() { - return this.getCmsContent("YourSafeliteShopWidget", "QuestionText"); - }, appointmentTypeStrings() { return AppointmentTypeStrings; }, @@ -1745,8 +1732,7 @@ export default { serviceZipModalQuestion, appointmentTypeQuestion, contentGroupModal, - shopQuestionPopup, - buttonQuestion, + shopLocation, }, }; diff --git a/src/layouts/schedule/shop-location/shop-location.vue b/src/layouts/schedule/shop-location/shop-location.vue new file mode 100644 index 000000000..f4277e43b --- /dev/null +++ b/src/layouts/schedule/shop-location/shop-location.vue @@ -0,0 +1,120 @@ + + + + + + diff --git a/src/layouts/schedule/time-slot-modal-question/time-slot-modal-list-button/time-slot-modal-list-button.vue b/src/layouts/schedule/time-slot-modal-question/time-slot-modal-list-button/time-slot-modal-list-button.vue index 74286c550..5ee4768f8 100644 --- a/src/layouts/schedule/time-slot-modal-question/time-slot-modal-list-button/time-slot-modal-list-button.vue +++ b/src/layouts/schedule/time-slot-modal-question/time-slot-modal-list-button/time-slot-modal-list-button.vue @@ -90,7 +90,7 @@ export default { position: relative; background: $white; transition: all 150ms linear; - border-radius: $border-radius-lg; + border-radius: $border-radius-pill; border: 1px solid $gray-500; width: 100%; outline: none; diff --git a/src/styles/shared-input-button-styles.scss b/src/styles/shared-input-button-styles.scss index f212fa072..e06feaf43 100644 --- a/src/styles/shared-input-button-styles.scss +++ b/src/styles/shared-input-button-styles.scss @@ -28,7 +28,7 @@ position: relative; z-index: 5; @include box-shadow-hover($blue-300); - border-radius: 0.5rem; + border-radius: $border-radius-pill; } } }