From 3d0bdb734c61262731ad1b8826a299775cc4f1e8 Mon Sep 17 00:00:00 2001 From: Bryan Mauger Date: Thu, 19 Oct 2023 15:00:26 -0400 Subject: [PATCH 01/17] CSR-1712 add copy to vehicle page. --- src/layouts/vehicle/vehicle.vue | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/layouts/vehicle/vehicle.vue b/src/layouts/vehicle/vehicle.vue index e064250bd..fe0f86dc5 100644 --- a/src/layouts/vehicle/vehicle.vue +++ b/src/layouts/vehicle/vehicle.vue @@ -9,6 +9,10 @@
+

From 61c2c039cc76350b2f61a7468a509108e61a748a Mon Sep 17 00:00:00 2001 From: Bryan Mauger Date: Thu, 19 Oct 2023 17:49:10 -0400 Subject: [PATCH 02/17] Change P to div. --- src/layouts/vehicle/vehicle.vue | 4 ++-- src/ux-components/alert/alert.vue | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/layouts/vehicle/vehicle.vue b/src/layouts/vehicle/vehicle.vue index fe0f86dc5..1754a3a91 100644 --- a/src/layouts/vehicle/vehicle.vue +++ b/src/layouts/vehicle/vehicle.vue @@ -9,10 +9,10 @@
-

+ class="mt-2 mb-4 small">
- - - diff --git a/src/layouts/add-to-calendar/add-to-calendar.spec.js b/src/layouts/confirmation/add-to-calendar/add-to-calendar.spec.js similarity index 94% rename from src/layouts/add-to-calendar/add-to-calendar.spec.js rename to src/layouts/confirmation/add-to-calendar/add-to-calendar.spec.js index 14b6d978b..c55b170cd 100644 --- a/src/layouts/add-to-calendar/add-to-calendar.spec.js +++ b/src/layouts/confirmation/add-to-calendar/add-to-calendar.spec.js @@ -1,5 +1,5 @@ // Components -import addToCalendar from "@/layouts/add-to-calendar/add-to-calendar.vue"; +import addToCalendar from "@/layouts/confirmation/add-to-calendar/add-to-calendar.vue"; import { calendarOptions } from "@/constants/calendar-options"; import { AppointmentTypeStrings, RouteCodeFlags } from "@/constants/schedule-constants"; @@ -176,11 +176,20 @@ describe("Add-to-calendar methods...", () => { }); }); +var appointmentText = "Appointment content"; function setupMocks({ customMountOptions }) { const mountOptions = getMountOptions({ ...customMountOptions, }); - + mountOptions.mixins = [ + { + methods: { + getCmsContent: jest.fn().mockImplementation(() => { + return appointmentText; + }), + }, + }, + ]; const wrapper = shallowMount(addToCalendar, mountOptions); wrapper.vm.$refs.calendarModalQuestion.openModal = jest.fn(); return { wrapper }; diff --git a/src/layouts/confirmation/add-to-calendar/add-to-calendar.vue b/src/layouts/confirmation/add-to-calendar/add-to-calendar.vue new file mode 100644 index 000000000..48e67b72b --- /dev/null +++ b/src/layouts/confirmation/add-to-calendar/add-to-calendar.vue @@ -0,0 +1,313 @@ + + + diff --git a/src/layouts/add-to-calendar/calendar-modal-question/calendar-modal-list-button/calendar-modal-list-button.vue b/src/layouts/confirmation/add-to-calendar/calendar-modal-question/calendar-modal-list-button/calendar-modal-list-button.vue similarity index 100% rename from src/layouts/add-to-calendar/calendar-modal-question/calendar-modal-list-button/calendar-modal-list-button.vue rename to src/layouts/confirmation/add-to-calendar/calendar-modal-question/calendar-modal-list-button/calendar-modal-list-button.vue diff --git a/src/layouts/add-to-calendar/calendar-modal-question/calendar-modal-question.spec.js b/src/layouts/confirmation/add-to-calendar/calendar-modal-question/calendar-modal-question.spec.js similarity index 92% rename from src/layouts/add-to-calendar/calendar-modal-question/calendar-modal-question.spec.js rename to src/layouts/confirmation/add-to-calendar/calendar-modal-question/calendar-modal-question.spec.js index d28c2442f..2f0a51a33 100644 --- a/src/layouts/add-to-calendar/calendar-modal-question/calendar-modal-question.spec.js +++ b/src/layouts/confirmation/add-to-calendar/calendar-modal-question/calendar-modal-question.spec.js @@ -1,6 +1,6 @@ import { shallowMount } from "@vue/test-utils"; import { getMountOptions } from "@/helpers/unit-test-helper.js"; -import calendarModalQuestion from "@/layouts/add-to-calendar/calendar-modal-question/calendar-modal-question.vue"; +import calendarModalQuestion from "@/layouts/confirmation/add-to-calendar/calendar-modal-question/calendar-modal-question.vue"; describe("calendar-modal-question.vue", () => { test("When selected calendar option is changed, a correctly selectedCalendarOption should be emitted", async () => { diff --git a/src/layouts/add-to-calendar/calendar-modal-question/calendar-modal-question.vue b/src/layouts/confirmation/add-to-calendar/calendar-modal-question/calendar-modal-question.vue similarity index 100% rename from src/layouts/add-to-calendar/calendar-modal-question/calendar-modal-question.vue rename to src/layouts/confirmation/add-to-calendar/calendar-modal-question/calendar-modal-question.vue diff --git a/src/layouts/confirmation/confirmation.vue b/src/layouts/confirmation/confirmation.vue index 1fbcbe4fc..87d4d41ea 100644 --- a/src/layouts/confirmation/confirmation.vue +++ b/src/layouts/confirmation/confirmation.vue @@ -20,7 +20,19 @@

{{ ScheduleDateFormatted }}

{{ ScheduleTimeFormatted }}

- +
@@ -43,22 +55,17 @@ import funnelHeader from "@/fmg-components/funnel-header/funnel-header"; import vehicleBanner from "@/fmg-components/vehicle-banner/vehicle-banner"; import navbar from "@/fmg-components/nav-bar/nav-bar"; -import addToCalendar from "@/layouts/add-to-calendar/add-to-calendar"; +import addToCalendar from "@/layouts/confirmation/add-to-calendar/add-to-calendar"; //Supporting files import { fetchCmsContentForPage } from "@/helpers/cms-content-helper"; -import { AppointmentTypeStrings, RouteCodeFlags } from "@/constants/schedule-constants"; +import { AppointmentTypeStrings } from "@/constants/schedule-constants"; import { settleAllPromises } from "@/helpers/layout-helper"; import { applicationConfig } from "@/constants/application-config.js"; import { convertDateStringToDate } from "@/layouts/schedule/helpers/schedule-helper"; -import { - calculateDuration, - combineDateAndTime, - shortTimeString, - addMinutes, -} from "@/helpers/date-helper"; + import { Form } from "vee-validate"; import store from "@/store"; -import { serviceType } from "@/constants/service-type"; + import { get12HourTimeFormat, get12HourTimeMobileFormat } from "@/helpers/date-helper"; export default { name: "confirmation", @@ -190,138 +197,6 @@ export default { return `at ${get12HourTimeFormat(this.ScheduleStartTime)}`; } }, - IsSameDayDropOff() { - const todaysDate = new Date().toISOString().split("T")[0]; - return this.ScheduleDate === todaysDate; - }, - Mobile_Appointment_Subject() { - return this.getCmsContent("Mobile_Appointment_Widget", "HeaderText"); - }, - Mobile_Appointment_Body() { - return this.getCmsContent("Mobile_Appointment_Widget", "BodyText"); - }, - InShop_Appointment_Subject() { - return this.getCmsContent("InShop_Appointment_Widget", "HeaderText"); - }, - InShop_Appointment_Body() { - return this.getCmsContent("InShop_Appointment_Widget", "BodyText"); - }, - Drop_Off_Appointment_Subject() { - return this.getCmsContent("Drop_Off_Appointment_Widget", "HeaderText"); - }, - Drop_Off_Appointment_Body() { - return this.getCmsContent("Drop_Off_Appointment_Widget", "BodyText"); - }, - Overnight_Drop_Off_Appointment_Subject() { - return this.getCmsContent("Drop_Off_Appointment_Widget", "HeaderText"); - }, - Overnight_Drop_Off_Appointment_Body() { - return this.getCmsContent("Drop_Off_Appointment_Widget", "BodyText"); - }, - All_Day_Drop_Off_Appointment_Subject() { - return this.getCmsContent("All_Day_Drop_Off_Appointment_Widget", "HeaderText"); - }, - All_Day_Drop_Off_Appointment_Body() { - return this.getCmsContent("All_Day_Drop_Off_Appointment_Widget", "BodyText"); - }, - Same_Day_Drop_Off_Appointment_Subject() { - return this.getCmsContent("Same_Day_Drop_Off_Appointment_Widget", "HeaderText"); - }, - Same_Day_Drop_Off_Appointment_Body() { - return this.getCmsContent("Same_Day_Drop_Off_Appointment_Widget", "BodyText"); - }, - UniqueId() { - return store.getters.order.referralNumber?.toString(); - }, - ServiceType() { - const isRepair = store.getters.order.damage.isRepair; - const funnelHasRecalibrationPart = store.getters.funnelHasRecalibrationPart; - if (!isRepair) { - if (funnelHasRecalibrationPart) { - return serviceType.REPLACEMENT_AND_RECALIBRATION; - } else { - return serviceType.REPLACEMENT; - } - } - return serviceType.REPAIR; - }, - RouteCode() { - return store.getters.order.schedule.routeCode; - }, - AppointmentData() { - var subject = ""; - var location = ""; - var startDateTime = combineDateAndTime(this.ScheduleDate, this.ScheduleStartTime); - var endDateTime = combineDateAndTime(this.ScheduleDate, this.ScheduleEndTime); - var body = ""; - var isHTML = false; - var duration = ""; - - if (this.AppointmentType === AppointmentTypeStrings.MOBILE) { - location = this.ServiceLocationFullAddress?.replace("
", ""); - subject = this.Mobile_Appointment_Subject?.replace( - "{custom:SERVICETYPE}", - this.ServiceType - ); - body = this.Mobile_Appointment_Body; - } else { - location = this.ProviderFullAddress?.replace("
", ""); - if (this.AppointmentType === AppointmentTypeStrings.DROP_OFF) { - if (this.RouteCode.includes(RouteCodeFlags.OVERNIGHT_DROP_OFF)) { - subject = this.Overnight_Drop_Off_Appointment_Subject; - body = this.Overnight_Drop_Off_Appointment_Body; - } else if (this.RouteCode.includes(RouteCodeFlags.ALL_DAY_DROP_OFF)) { - if (this.IsSameDayDropOff) { - subject = this.Same_Day_Drop_Off_Appointment_Subject; - endDateTime = addMinutes(startDateTime, 120); - body = this.Same_Day_Drop_Off_Appointment_Body; - } else { - endDateTime = addMinutes(startDateTime, 120); - subject = this.All_Day_Drop_Off_Appointment_Subject?.replace( - "{custom:STARTDATETIME}", - shortTimeString(startDateTime) - ).replace("{custom:ENDDATETIME}", shortTimeString(endDateTime)); - body = this.All_Day_Drop_Off_Appointment_Body?.replace( - "{custom:ENDDATETIME}", - shortTimeString(endDateTime) - ); - } - } //normal time slot - else { - subject = this.Drop_Off_Appointment_Subject?.replace( - "{custom:SERVICETYPE}", - this.ServiceType - ); - body = this.Drop_Off_Appointment_Body?.replace( - "{custom:ADDRESS}", - location - ); - } - } else { - subject = this.InShop_Appointment_Subject?.replace( - "{custom:SERVICETYPE}", - this.ServiceType - ); - body = this.InShop_Appointment_Body?.replace("{custom:ADDRESS}", location); - } - duration = calculateDuration(startDateTime, endDateTime); - } - return { - Subject: subject, - Location: location, - StartDate: startDateTime, - EndDate: endDateTime, - RefrrlSeqNum: this.UniqueId, - Body: body, - IsHTML: isHTML, - Duration: duration, - }; - }, - }, - data() { - return { - workOrderNumber: store.getters.order.workOrderNumber, - }; }, methods: { arePagePrerequisitesValid() { From 2404c5f9f2d0448855d080fbdc139622075afab2 Mon Sep 17 00:00:00 2001 From: hiteshkumar87 Date: Fri, 20 Oct 2023 19:10:19 +0530 Subject: [PATCH 04/17] move external links to Vue config move external links to Vue config --- src/constants/application-config.js | 3 +++ .../confirmation/add-to-calendar/add-to-calendar.vue | 11 ++++++----- vue.config.js | 3 +++ vue.release.config.js | 3 +++ 4 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/constants/application-config.js b/src/constants/application-config.js index b4c0d9a1e..438cc9885 100644 --- a/src/constants/application-config.js +++ b/src/constants/application-config.js @@ -21,6 +21,9 @@ const applicationConfig = { "//" + location.host + "/fmg/?fmgPage=payment-method&src=concept-funnel", + GOOGLE_CALENDAR: process.env.VUE_APP_GOOGLE_CALENDAR, + YAHOO_CALENDAR: process.env.VUE_APP_YAHOO_CALENDAR, + OUTLOOK_CALENDAR: process.env.VUE_APP_OUTLOOK_CALENDAR, }; export { applicationConfig }; diff --git a/src/layouts/confirmation/add-to-calendar/add-to-calendar.vue b/src/layouts/confirmation/add-to-calendar/add-to-calendar.vue index 48e67b72b..24427b2d5 100644 --- a/src/layouts/confirmation/add-to-calendar/add-to-calendar.vue +++ b/src/layouts/confirmation/add-to-calendar/add-to-calendar.vue @@ -33,6 +33,7 @@ import { } from "@/helpers/date-helper"; import store from "@/store"; import { serviceType } from "@/constants/service-type"; +import { applicationConfig } from "@/constants/application-config.js"; export default { name: "add-to-calendar", components: { @@ -207,8 +208,8 @@ export default { methods: { setCalendarAppointment(calendarOption) { if ( - calendarOption.name.includes(calendarOptions.ICAL) || - calendarOption.name.includes(calendarOptions.OUTLOOK) + calendarOption.name == calendarOptions.ICAL || + calendarOption.name == calendarOptions.OUTLOOK ) { this.getAppointment(); } else { @@ -227,7 +228,7 @@ export default { const dateFormat = "yyyyMMddTHHmmss"; const outlookComTimeSpanFormat = "yyyy-MM-ddTHH:mm:ss"; if (type == calendarOptions.OUTLOOKCOM) { - URL = `https://outlook.office.com/calendar/deeplink/compose?path=/calendar/action/compose&rru=addevent&startdt=${encodeURIComponent( + URL = `${applicationConfig.OUTLOOK_CALENDAR}&startdt=${encodeURIComponent( getDateFormat(this.Appointment.StartDate, outlookComTimeSpanFormat) )}&enddt=${encodeURIComponent( getDateFormat(this.Appointment.EndDate, outlookComTimeSpanFormat) @@ -238,7 +239,7 @@ export default { )}`; } if (type == calendarOptions.GOOGLE) { - URL = `https://www.google.com/calendar/render?action=TEMPLATE&text=${encodeURIComponent( + URL = `${applicationConfig.GOOGLE_CALENDAR}&text=${encodeURIComponent( this.Appointment.Subject )}&dates=${encodeURIComponent( getDateFormat(this.Appointment.StartDate, dateFormat) @@ -249,7 +250,7 @@ export default { )}&location=${encodeURIComponent(this.Appointment.Location)}&sf=true&output=xml`; } if (type == calendarOptions.YAHOO) { - URL = `https://calendar.yahoo.com/?v=60&TITLE=${encodeURIComponent( + URL = `${applicationConfig.YAHOO_CALENDAR}&TITLE=${encodeURIComponent( this.Appointment.Subject )}&DESC=${encodeURIComponent(this.Appointment.Body)}&ST=${encodeURIComponent( getDateFormat(this.Appointment.StartDate, dateFormat) diff --git a/vue.config.js b/vue.config.js index a8c6ee8f8..f105d8e30 100644 --- a/vue.config.js +++ b/vue.config.js @@ -6,6 +6,9 @@ process.env.VUE_APP_MY_ACCOUNT = "https://myaccountdev.safelite.com/"; //process.env.VUE_APP_SAFELITE_HOP = "http://localhost:60966/fmgCheckoutEmbedded.aspx"; process.env.VUE_APP_SAFELITE_HOP = "https://sv2-safelitehop-sys.safelite.com/fmgCheckoutEmbedded.aspx"; +process.env.VUE_APP_GOOGLE_CALENDAR = "https://www.google.com/calendar/render?action=TEMPLATE"; +process.env.VUE_APP_YAHOO_CALENDAR = "https://calendar.yahoo.com/?v=60"; +process.env.VUE_APP_OUTLOOK_CALENDAR = "https://outlook.office.com/calendar/deeplink/compose?path=/calendar/action/compose&rru=addevent"; // GA & GTM process.env.VUE_APP_GOOGLE_TAG_MANAGER_SCRIPT_BODY = diff --git a/vue.release.config.js b/vue.release.config.js index ec84c2d2a..d3a16cc35 100644 --- a/vue.release.config.js +++ b/vue.release.config.js @@ -5,6 +5,9 @@ process.env.VUE_APP_CURRENT_ENVIRONMENT = "__VUE_APP_CURRENT_ENVIRONMENT__"; process.env.VUE_APP_MY_ACCOUNT = "__VUE_APP_MY_ACCOUNT__"; process.env.VUE_APP_SAFELITE_HOP = "__VUE_APP_SAFELITE_HOP__"; +process.env.VUE_APP_GOOGLE_CALENDAR = "__VUE_APP_GOOGLE_CALENDAR__"; +process.env.VUE_APP_YAHOO_CALENDAR = "__VUE_APP_YAHOO_CALENDAR__"; +process.env.VUE_APP_OUTLOOK_CALENDAR = "__VUE_APP_OUTLOOK_CALENDAR__"; // GA & GTM process.env.VUE_APP_GOOGLE_TAG_MANAGER_SCRIPT_BODY = "__VUE_APP_GOOGLE_TAG_MANAGER_SCRIPT_BODY__"; From 820a4387ac800623de33dbb501a29b43c1986e74 Mon Sep 17 00:00:00 2001 From: Adam Caouette Date: Fri, 20 Oct 2023 09:56:38 -0400 Subject: [PATCH 05/17] CSR-1384: adding modals with add to cart buttons --- .../content-group-modal.vue | 15 +- .../add-vaps-button/add-vaps-button.vue | 0 .../add-vaps-modal-buttons.vue | 177 ++++++++++++++++++ src/layouts/payment-method/payment-method.vue | 22 +-- 4 files changed, 194 insertions(+), 20 deletions(-) rename src/{fmg-components => layouts/payment-method}/add-vaps-modal-buttons/add-vaps-button/add-vaps-button.vue (100%) create mode 100644 src/layouts/payment-method/add-vaps-modal-buttons/add-vaps-modal-buttons.vue diff --git a/src/fmg-components/content-group-modal/content-group-modal.vue b/src/fmg-components/content-group-modal/content-group-modal.vue index d9d9da937..a64d10fa3 100644 --- a/src/fmg-components/content-group-modal/content-group-modal.vue +++ b/src/fmg-components/content-group-modal/content-group-modal.vue @@ -12,6 +12,7 @@ class="my-4 caption modal-sub-body" v-if="ModalSubBodyText" v-html="ModalSubBodyText">

+ @@ -22,6 +23,10 @@ export default { name: "content-group-modal", props: { cmsWidgetName: String, + footerButtonActionName: { + type: String, + default: null, + }, }, computed: { ModalName() { @@ -50,10 +55,16 @@ export default { openModal() { this.$refs[this.ModalName].openModal(); }, - - footerButtonClick() { + closeModal() { this.$refs[this.ModalName].closeModal(); }, + footerButtonClick() { + if (this.footerButtonActionName) { + this.$emit(this.footerButtonActionName, this.ModalName); + } else { + this.closeModal(); + } + }, }, components: { modal, diff --git a/src/fmg-components/add-vaps-modal-buttons/add-vaps-button/add-vaps-button.vue b/src/layouts/payment-method/add-vaps-modal-buttons/add-vaps-button/add-vaps-button.vue similarity index 100% rename from src/fmg-components/add-vaps-modal-buttons/add-vaps-button/add-vaps-button.vue rename to src/layouts/payment-method/add-vaps-modal-buttons/add-vaps-button/add-vaps-button.vue diff --git a/src/layouts/payment-method/add-vaps-modal-buttons/add-vaps-modal-buttons.vue b/src/layouts/payment-method/add-vaps-modal-buttons/add-vaps-modal-buttons.vue new file mode 100644 index 000000000..a01d2d39f --- /dev/null +++ b/src/layouts/payment-method/add-vaps-modal-buttons/add-vaps-modal-buttons.vue @@ -0,0 +1,177 @@ + + + diff --git a/src/layouts/payment-method/payment-method.vue b/src/layouts/payment-method/payment-method.vue index 45565d536..e0bf475ac 100644 --- a/src/layouts/payment-method/payment-method.vue +++ b/src/layouts/payment-method/payment-method.vue @@ -42,12 +42,10 @@
+ vapsTilesCmsName="VapsProductTiles" /> - { @@ -320,7 +308,6 @@ export default { ); } }, - async piaSetup(payNowType) { this.$refs.loadingModal.showModal(); @@ -398,7 +385,6 @@ export default { cart, alert, addVapsModalButtons, - contentGroupModal, paymentMethodQuestion, }, }; From 8c7e1953a96f5911fa91a46b37eee2cf49415566 Mon Sep 17 00:00:00 2001 From: Bryan Mauger Date: Fri, 20 Oct 2023 10:11:15 -0400 Subject: [PATCH 06/17] Update unit test. --- src/layouts/vehicle/vehicle.spec.js | 38 ++++++++++++++++++++--------- 1 file changed, 27 insertions(+), 11 deletions(-) diff --git a/src/layouts/vehicle/vehicle.spec.js b/src/layouts/vehicle/vehicle.spec.js index 56b46292d..e8671b7a8 100644 --- a/src/layouts/vehicle/vehicle.spec.js +++ b/src/layouts/vehicle/vehicle.spec.js @@ -5,17 +5,25 @@ import vehicle from "@/layouts/vehicle/vehicle.vue"; import { shallowMount } from "@vue/test-utils"; import { nextTick } from "vue"; import { getMountOptions } from "@/helpers/unit-test-helper.js"; +import { fetchCmsContentForPage } from "@/helpers/cms-content-helper"; +import baseMixin from "../../mixins/base-mixin"; // Mock our module for promises. jest.mock("@/helpers/layout-helper.js", () => ({ settleAllPromises: jest.fn(), })); +// Mock fetchCmsContentForPage +jest.mock("@/helpers/cms-content-helper", () => ({ + fetchCmsContentForPage: jest.fn(), +})); + describe("vehicle.vue", () => { test("arePagePrerequisitesValid should be true ", async () => { //Arrange const { wrapper } = setupMocks(); + //Act let arePagePrerequisitesValid = wrapper.vm.arePagePrerequisitesValid(); await nextTick(); @@ -40,17 +48,25 @@ describe("vehicle.vue", () => { }); function setupMocks() { - const wrapper = shallowMount( - vehicle, - getMountOptions({ - router: { - navigate: jest.fn(), - navigate: jest.fn(), - navigateWithSaving: jest.fn(), - navigateWithoutSaving: jest.fn(), - }, - }) - ); + + const mountOptions = getMountOptions({ + router: { + navigate: jest.fn(), + navigate: jest.fn(), + navigateWithSaving: jest.fn(), + navigateWithoutSaving: jest.fn(), + }, + }); + + //Mock props + const mockMixin = { + methods: { + getCmsContent: jest.fn(), + }, + }; + + mountOptions.mixins = [mockMixin]; + const wrapper = shallowMount(vehicle, mountOptions); return { wrapper }; } From b16c36d2cf33b4ae8065c024cb7f6d78117367a3 Mon Sep 17 00:00:00 2001 From: Bryan Mauger Date: Fri, 20 Oct 2023 10:17:25 -0400 Subject: [PATCH 07/17] format code. --- src/layouts/vehicle/vehicle.spec.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/layouts/vehicle/vehicle.spec.js b/src/layouts/vehicle/vehicle.spec.js index e8671b7a8..74d29071a 100644 --- a/src/layouts/vehicle/vehicle.spec.js +++ b/src/layouts/vehicle/vehicle.spec.js @@ -23,7 +23,6 @@ describe("vehicle.vue", () => { //Arrange const { wrapper } = setupMocks(); - //Act let arePagePrerequisitesValid = wrapper.vm.arePagePrerequisitesValid(); await nextTick(); @@ -48,7 +47,6 @@ describe("vehicle.vue", () => { }); function setupMocks() { - const mountOptions = getMountOptions({ router: { navigate: jest.fn(), From 047ed9855054b44f639820e1757da615b1d411f4 Mon Sep 17 00:00:00 2001 From: hiteshkumar87 Date: Fri, 20 Oct 2023 19:51:09 +0530 Subject: [PATCH 08/17] remove calendar url from vue config remove calendar url from vue config --- src/constants/application-config.js | 7 ++++--- vue.config.js | 3 --- vue.release.config.js | 3 --- 3 files changed, 4 insertions(+), 9 deletions(-) diff --git a/src/constants/application-config.js b/src/constants/application-config.js index 438cc9885..7105e63bd 100644 --- a/src/constants/application-config.js +++ b/src/constants/application-config.js @@ -21,9 +21,10 @@ const applicationConfig = { "//" + location.host + "/fmg/?fmgPage=payment-method&src=concept-funnel", - GOOGLE_CALENDAR: process.env.VUE_APP_GOOGLE_CALENDAR, - YAHOO_CALENDAR: process.env.VUE_APP_YAHOO_CALENDAR, - OUTLOOK_CALENDAR: process.env.VUE_APP_OUTLOOK_CALENDAR, + GOOGLE_CALENDAR: "https://www.google.com/calendar/render?action=TEMPLATE", + YAHOO_CALENDAR: "https://calendar.yahoo.com/?v=60", + OUTLOOK_CALENDAR: + "https://outlook.office.com/calendar/deeplink/compose?path=/calendar/action/compose&rru=addevent", }; export { applicationConfig }; diff --git a/vue.config.js b/vue.config.js index f105d8e30..a8c6ee8f8 100644 --- a/vue.config.js +++ b/vue.config.js @@ -6,9 +6,6 @@ process.env.VUE_APP_MY_ACCOUNT = "https://myaccountdev.safelite.com/"; //process.env.VUE_APP_SAFELITE_HOP = "http://localhost:60966/fmgCheckoutEmbedded.aspx"; process.env.VUE_APP_SAFELITE_HOP = "https://sv2-safelitehop-sys.safelite.com/fmgCheckoutEmbedded.aspx"; -process.env.VUE_APP_GOOGLE_CALENDAR = "https://www.google.com/calendar/render?action=TEMPLATE"; -process.env.VUE_APP_YAHOO_CALENDAR = "https://calendar.yahoo.com/?v=60"; -process.env.VUE_APP_OUTLOOK_CALENDAR = "https://outlook.office.com/calendar/deeplink/compose?path=/calendar/action/compose&rru=addevent"; // GA & GTM process.env.VUE_APP_GOOGLE_TAG_MANAGER_SCRIPT_BODY = diff --git a/vue.release.config.js b/vue.release.config.js index d3a16cc35..ec84c2d2a 100644 --- a/vue.release.config.js +++ b/vue.release.config.js @@ -5,9 +5,6 @@ process.env.VUE_APP_CURRENT_ENVIRONMENT = "__VUE_APP_CURRENT_ENVIRONMENT__"; process.env.VUE_APP_MY_ACCOUNT = "__VUE_APP_MY_ACCOUNT__"; process.env.VUE_APP_SAFELITE_HOP = "__VUE_APP_SAFELITE_HOP__"; -process.env.VUE_APP_GOOGLE_CALENDAR = "__VUE_APP_GOOGLE_CALENDAR__"; -process.env.VUE_APP_YAHOO_CALENDAR = "__VUE_APP_YAHOO_CALENDAR__"; -process.env.VUE_APP_OUTLOOK_CALENDAR = "__VUE_APP_OUTLOOK_CALENDAR__"; // GA & GTM process.env.VUE_APP_GOOGLE_TAG_MANAGER_SCRIPT_BODY = "__VUE_APP_GOOGLE_TAG_MANAGER_SCRIPT_BODY__"; From 2be4b378c136af2874297d20a162260e49df9f08 Mon Sep 17 00:00:00 2001 From: Adam Caouette Date: Fri, 20 Oct 2023 10:38:13 -0400 Subject: [PATCH 09/17] CSR-1384: remove outdated code --- .../add-vaps-modal-buttons.vue | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/src/layouts/payment-method/add-vaps-modal-buttons/add-vaps-modal-buttons.vue b/src/layouts/payment-method/add-vaps-modal-buttons/add-vaps-modal-buttons.vue index a01d2d39f..3fc426d63 100644 --- a/src/layouts/payment-method/add-vaps-modal-buttons/add-vaps-modal-buttons.vue +++ b/src/layouts/payment-method/add-vaps-modal-buttons/add-vaps-modal-buttons.vue @@ -73,21 +73,8 @@ export default { }, }, computed: { - currentCartItems: { - get: function () { - return this.modelValue; - }, - set: function (newValue) { - // does this.modelValue.vaps have this vap in it already? - const inCart = this.currentCartItems.vaps?.some((vap) => { - return vap.partType === "RAIN DEFENSE"; - }); - const newCartItems = this.currentCartItems; - if (!inCart) { - newCartItems.vaps.push(newValue); - } - this.$emit("update:modelValue", newCartItems); - }, + currentCartItems() { + return this.modelValue; }, showAddRainDefense() { // show if not in cart From 7c60a4c0698fbc9d2ea7021682dff2d4e20d8506 Mon Sep 17 00:00:00 2001 From: Leah Schumann Date: Fri, 20 Oct 2023 11:20:03 -0400 Subject: [PATCH 10/17] Fixed the NaN issue that was introduced with Tax stuff --- src/store/index.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/store/index.js b/src/store/index.js index 852bb1570..9a2e8054d 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -2516,8 +2516,7 @@ function convertGlassPieceNamingFromApi(glassArray) { } function addPricesToLineItems(lineItems, pricingLineItems) { - const pricedLineItems = deepClone(lineItems); - pricedLineItems.forEach((lineItem) => { + lineItems.forEach((lineItem) => { let lineItemIndex = pricingLineItems.findIndex( (pricingLineItem) => pricingLineItem.partNumber === lineItem.partNumber ); @@ -2533,7 +2532,7 @@ function addPricesToLineItems(lineItems, pricingLineItems) { lineItem.salesTax = pricedLineItem.salesTax; }); - return pricedLineItems; + return lineItems; } function addTaxesToPricedLineItems(lineItems, taxingLineItems) { From dee4e36ba75113d1c070127e6a8a0b460a5630fc Mon Sep 17 00:00:00 2001 From: Bryan Mauger Date: Fri, 20 Oct 2023 13:18:54 -0400 Subject: [PATCH 11/17] CSR-1715 fix spacing. --- src/layouts/schedule/schedule.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/layouts/schedule/schedule.vue b/src/layouts/schedule/schedule.vue index 704ad007d..ff1961465 100644 --- a/src/layouts/schedule/schedule.vue +++ b/src/layouts/schedule/schedule.vue @@ -9,7 +9,7 @@
- +