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" - 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 diff --git a/playwright-tests/tests/CashReplaceMultiGlassMobile.ts b/playwright-tests/tests/CashReplaceMultiGlassMobile.ts index f67f44234..5db56fb85 100644 --- a/playwright-tests/tests/CashReplaceMultiGlassMobile.ts +++ b/playwright-tests/tests/CashReplaceMultiGlassMobile.ts @@ -95,7 +95,7 @@ const cashReplaceMultiGlassMobileTests: ITestCase[] = []; const tc = { name: `CashReplaceMultiGlassMobile`, - tags: ['@E2E','@CashReplaceMultiGlassMobile', '@test_report', '@CASH'], + tags: ['@E2E','@CashReplaceMultiGlassMobile', '@test_report', '@CASH', '@CASH-1182'], testData: cashReplaceMultiGlassMobileData }; cashReplaceMultiGlassMobileTests.push(tc); diff --git a/playwright-tests/tests/CashReplaceSafeliteCanNotRecalMobile.ts b/playwright-tests/tests/CashReplaceSafeliteCanNotRecalMobile.ts index 3729ff72b..7bbc671ee 100644 --- a/playwright-tests/tests/CashReplaceSafeliteCanNotRecalMobile.ts +++ b/playwright-tests/tests/CashReplaceSafeliteCanNotRecalMobile.ts @@ -77,7 +77,7 @@ const cashReplaceSafeliteCanNotRecalMobileTests: ITestCase[] = []; const tc = { name: `CashReplaceSafeliteCanNotRecalMobile`, - tags: ['@E2E','@CashReplaceSafeliteCanNotRecalMobile', '@test_report', '@CASH'], + tags: ['@E2E','@CashReplaceSafeliteCanNotRecalMobile', '@test_report', '@CASH', '@CASH-1182'], testData: cashReplaceSafeliteCanNotRecalMobileData }; cashReplaceSafeliteCanNotRecalMobileTests.push(tc); diff --git a/playwright-tests/tests/CashReplaceVinMobile.ts b/playwright-tests/tests/CashReplaceVinMobile.ts index d47ab608f..e81220cd0 100644 --- a/playwright-tests/tests/CashReplaceVinMobile.ts +++ b/playwright-tests/tests/CashReplaceVinMobile.ts @@ -66,7 +66,7 @@ const cashReplaceVinMobileTests: ITestCase[] = []; const tc = { name: `CashReplaceVinMobile`, - tags: ['@E2E','@CashReplaceVinMobile', '@test_report', '@CASH'], + tags: ['@E2E','@CashReplaceVinMobile', '@test_report', '@CASH', '@CASH-1182'], testData: cashReplaceVinMobileData }; cashReplaceVinMobileTests.push(tc); diff --git a/src/digital-components/date-picker/date-picker.vue b/src/digital-components/date-picker/date-picker.vue index fa8c9d218..858ddb3e4 100644 --- a/src/digital-components/date-picker/date-picker.vue +++ b/src/digital-components/date-picker/date-picker.vue @@ -1025,6 +1025,8 @@ export default { flex-grow: 0; display: flex; flex-direction: column; + align-items: flex-start; + text-align: left; .duration-text-block { text-align: left; @@ -1108,7 +1110,7 @@ export default { grid-area: 1 / 1 / 2 / 5; font-family: UrbanistBold; color: $black; - justify-content: center; + justify-content: left; margin-bottom: 0.5rem; } .legend { @@ -1468,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 0be89d4dd..48dc66ad2 100644 --- a/src/layouts/schedule/schedule.vue +++ b/src/layouts/schedule/schedule.vue @@ -5,22 +5,6 @@
- -
+
+
+ + +
- +
+ +
-
@@ -158,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"; @@ -769,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; }, @@ -1740,8 +1732,7 @@ export default { serviceZipModalQuestion, appointmentTypeQuestion, contentGroupModal, - shopQuestionPopup, - buttonQuestion, + shopLocation, }, }; @@ -1793,4 +1784,9 @@ export default { background: $blue-100; box-shadow: 0 0 0 1px $primary; } + +.container .row .col-12 .alert-success .alert-heading { + color: $black; + font-weight: 600; +} 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; } } }