From 89d32b6a5b09ff31b3adc7e656844a37907b1328 Mon Sep 17 00:00:00 2001 From: Donielle Austin Date: Thu, 12 May 2022 16:52:40 -0400 Subject: [PATCH 01/15] ga event defect --- src/constants/analytics.js | 1 + src/layouts/address-lookup/address-lookup.vue | 14 ++++++++++++++ .../license-plate-lookup/license-plate-lookup.vue | 7 ++++--- src/layouts/vin-lookup/vin-lookup.vue | 14 +++++++++----- 4 files changed, 28 insertions(+), 8 deletions(-) diff --git a/src/constants/analytics.js b/src/constants/analytics.js index f6f6ff82e..a3f057150 100644 --- a/src/constants/analytics.js +++ b/src/constants/analytics.js @@ -26,6 +26,7 @@ const GaLabels = { ERROR: 'Error', LICENSE_PLATE_LOOKUP: 'License_Plate_Look_Up', VIN_LOOKUP: 'Vin_Look_Up', + ADDRESS_LOOKUP: 'Address_Look_up', }; diff --git a/src/layouts/address-lookup/address-lookup.vue b/src/layouts/address-lookup/address-lookup.vue index 54f096896..87278476a 100644 --- a/src/layouts/address-lookup/address-lookup.vue +++ b/src/layouts/address-lookup/address-lookup.vue @@ -152,6 +152,17 @@ export default { this.$route ); }, + attachCustomEvents() { + this.prependActionToMethod(this, this.forwardButtonAction, this.logGAEventForVin()); + }, + logGAEventForVin(){ + this.pushEventToGA( + this.$route.query[this.queryStrings.FMG_PAGE], + this.GaActions.SUBMITTED, + this.GaLabels.ADDRESS_LOOKUP, + true + ); + }, getRegistrationAddressFromStore() { return store.getters.vehicle.registration.address; }, @@ -337,6 +348,9 @@ export default { }, }, + mounted() { + this.attachCustomEvents(); + }, computed: { AlertNonServiceableZipHeader(){ const zipCode = this.serviceZipCode ? this.serviceZipCode : this.customerQuestions.addressQuestions.zipCode; diff --git a/src/layouts/license-plate-lookup/license-plate-lookup.vue b/src/layouts/license-plate-lookup/license-plate-lookup.vue index 5e7fdc2c1..13f50ecc4 100644 --- a/src/layouts/license-plate-lookup/license-plate-lookup.vue +++ b/src/layouts/license-plate-lookup/license-plate-lookup.vue @@ -187,14 +187,15 @@ export default { store.dispatch(storeActions.RESET_PARTS_STATE_AND_DEPENDENCIES); }, attachCustomEvents() { - this.prependActionToMethod(this, this.forwardButtonAction, () => { - this.pushEventToGA( + this.prependActionToMethod(this, this.forwardButtonAction, this.logGAEventForVin()); + }, + logGAEventForVin(){ + this.pushEventToGA( this.$route.query[this.queryStrings.FMG_PAGE], this.GaActions.SUBMITTED, this.GaLabels.LICENSE_PLATE_LOOKUP, true ); - }); }, getLicensePlateFromStore() { return store.getters.vehicle.registration.licensePlate; diff --git a/src/layouts/vin-lookup/vin-lookup.vue b/src/layouts/vin-lookup/vin-lookup.vue index 0294716af..4dc1f6382 100644 --- a/src/layouts/vin-lookup/vin-lookup.vue +++ b/src/layouts/vin-lookup/vin-lookup.vue @@ -192,6 +192,9 @@ export default { vinPopulatedOnPageLoad: this.getVinFromStore()?.length > 0, }; }, + mounted() { + this.attachCustomEvents(); + }, computed: { perfectMatchNewVinAlert() { return this.vinPopulatedOnPageLoad && this.vin === this.getVinFromStore(); @@ -255,15 +258,16 @@ export default { getZipFromStore(){ return store.getters.order.serviceLocation.zipCode; }, - attachCustomEvents() { - this.prependActionToMethod(this, this.forwardButtonAction, () => { - this.pushEventToGA( + attachCustomEvents() { + this.prependActionToMethod(this, this.forwardButtonAction, this.logGAEventForVin()); + }, + logGAEventForVin(){ + this.pushEventToGA( this.$route.query[this.queryStrings.FMG_PAGE], this.GaActions.SUBMITTED, - this.GaLabels.VINLOOKUP, + this.GaLabels.VIN_LOOKUP, true ); - }); }, backButtonAction() { this.$router.navigate(this.navigationScenarios.CLICKED_BACK, this.$route); From 4ecf7b0d5acc8cdeb464d008e7c679dc3ecfc522 Mon Sep 17 00:00:00 2001 From: Donielle Austin Date: Fri, 13 May 2022 13:40:15 -0400 Subject: [PATCH 02/15] will update tests later --- .../license-plate-lookup/license-plate-lookup.spec.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/layouts/license-plate-lookup/license-plate-lookup.spec.js b/src/layouts/license-plate-lookup/license-plate-lookup.spec.js index 9afd7e39a..33169e5e3 100644 --- a/src/layouts/license-plate-lookup/license-plate-lookup.spec.js +++ b/src/layouts/license-plate-lookup/license-plate-lookup.spec.js @@ -1,4 +1,4 @@ -// Components +/* // Components import licensePlateLookup from "@/layouts/license-plate-lookup/license-plate-lookup.vue"; // Supporting Files @@ -10,6 +10,7 @@ import { shallowMount, flushPromises } from "@vue/test-utils"; import { getMountOptions } from "@/helpers/unit-test-helper.js"; import { nextTick } from "vue"; import store from "@/store"; +import { mount } from "@vue/test-utils"; jest.mock('@/assets/img/loader.gif', () => 'loader.gif') jest.mock('@/assets/img/windshield.png', () => 'windshield.png') @@ -86,7 +87,6 @@ describe("license-plate-lookup.vue", () => { //Assert expect(wrapper.vm.$router.navigate).toHaveBeenCalled(); - }); }); @@ -466,3 +466,4 @@ function setupMocks({ return { wrapper, apiPromise }; } + */ \ No newline at end of file From 1c4d6099591b01347fc69341caf2dce553710236 Mon Sep 17 00:00:00 2001 From: Donielle Austin Date: Fri, 13 May 2022 14:07:06 -0400 Subject: [PATCH 03/15] testing --- .../license-plate-lookup.spec.js | 40 +++++++++---------- 1 file changed, 19 insertions(+), 21 deletions(-) diff --git a/src/layouts/license-plate-lookup/license-plate-lookup.spec.js b/src/layouts/license-plate-lookup/license-plate-lookup.spec.js index 33169e5e3..2d613c47a 100644 --- a/src/layouts/license-plate-lookup/license-plate-lookup.spec.js +++ b/src/layouts/license-plate-lookup/license-plate-lookup.spec.js @@ -1,4 +1,4 @@ -/* // Components +// Components import licensePlateLookup from "@/layouts/license-plate-lookup/license-plate-lookup.vue"; // Supporting Files @@ -10,7 +10,6 @@ import { shallowMount, flushPromises } from "@vue/test-utils"; import { getMountOptions } from "@/helpers/unit-test-helper.js"; import { nextTick } from "vue"; import store from "@/store"; -import { mount } from "@vue/test-utils"; jest.mock('@/assets/img/loader.gif', () => 'loader.gif') jest.mock('@/assets/img/windshield.png', () => 'windshield.png') @@ -48,7 +47,7 @@ jest.mock("@/store", () => ({ }, })); -describe("license-plate-lookup.vue", () => { +describe.skip("license-plate-lookup.vue", () => { test("CarId set, arePagePrerequisitesValid should be true ", async () => { //Arrange const { wrapper } = setupMocks({}); @@ -69,7 +68,7 @@ describe("license-plate-lookup.vue", () => { }); }); -describe("license-plate-lookup.vue", () => { +describe.skip("license-plate-lookup.vue", () => { test("BackButtonAction triggers a router.navigate change", async () => { //Arrange @@ -90,7 +89,7 @@ describe("license-plate-lookup.vue", () => { }); }); -describe("license-plate-lookup.vue", () => { +describe.skip("license-plate-lookup.vue", () => { test("getLicensePlateFromStore returns store license plate", async () => { // Arrange @@ -104,7 +103,7 @@ describe("license-plate-lookup.vue", () => { }); }); -describe("license-plate-lookup.vue", () => { +describe.skip("license-plate-lookup.vue", () => { test("getRegistrationZipFromStore returns store registration zip", async () => { // Arrange @@ -118,7 +117,7 @@ describe("license-plate-lookup.vue", () => { }); }); -describe("license-plate-lookup.vue", () => { +describe.skip("license-plate-lookup.vue", () => { test("getEmailFromStore returns store customer email", async () => { // Arrange @@ -132,7 +131,7 @@ describe("license-plate-lookup.vue", () => { }); }); -describe("license-plate-lookup.vue", () => { +describe.skip("license-plate-lookup.vue", () => { test("getServiceZipFromStore returns store service zip", async () => { // Arrange @@ -146,7 +145,7 @@ describe("license-plate-lookup.vue", () => { }); }); -describe("license-plate-lookup.vue", () => { +describe.skip("license-plate-lookup.vue", () => { test("Navigate forward should be called and isCarId should be set to false when data entered matches store data on forwardButtonAction click", async () => { // Arrange @@ -180,7 +179,7 @@ describe("license-plate-lookup.vue", () => { }); }); -describe("license-plate-lookup.vue", () => { +describe.skip("license-plate-lookup.vue", () => { test("Function should stop and datam isRegistrationZipServicable should be set to false when service zip entered returns false on forwardButtonAction click", async () => { // Arrange @@ -208,7 +207,7 @@ describe("license-plate-lookup.vue", () => { }); }); -describe("license-plate-lookup.vue", () => { +describe.skip("license-plate-lookup.vue", () => { test("Function should stop and datam isCarIdDifferent should be set to true when carId entered doesn't match store carId or previously entered carId on forwardButtonAction click", async () => { // Arrange @@ -242,7 +241,7 @@ describe("license-plate-lookup.vue", () => { }); }); -describe("license-plate-lookup.vue", () => { +describe.skip("license-plate-lookup.vue", () => { test("Navigate forward should be called and isCarId should be set to true when carId entered matches previously entered carId and rest of data entered matches store data on forwardButtonAction click", async () => { // Arrange @@ -277,7 +276,7 @@ describe("license-plate-lookup.vue", () => { }); }); -describe("license-plate-lookup.vue", () => { +describe.skip("license-plate-lookup.vue", () => { test("Button Text should revert to initial value when licensePlate textfield has new text", async () => { // Arrange @@ -294,7 +293,7 @@ describe("license-plate-lookup.vue", () => { }); }); -describe("license-plate-lookup.vue", () => { +describe.skip("license-plate-lookup.vue", () => { test("Button Text should revert to initial value when registrationZip textfield has new text", async () => { // Arrange @@ -311,7 +310,7 @@ describe("license-plate-lookup.vue", () => { }); }); -describe("license-plate-lookup.vue", () => { +describe.skip("license-plate-lookup.vue", () => { test("Button Text should revert to initial value when serviceZip textfield has new text", async () => { // Arrange @@ -328,7 +327,7 @@ describe("license-plate-lookup.vue", () => { }); }); -describe("license-plate-lookup.vue", () => { +describe.skip("license-plate-lookup.vue", () => { test("Dispatch reset damage and dependencies should be called if isCarIdDifferent is true and isSelectedGlassAvailableForVehicle is false when updateCustomerInfo is called", async () => { // Arrange @@ -351,7 +350,7 @@ describe("license-plate-lookup.vue", () => { }); }); -describe("license-plate-lookup.vue", () => { +describe.skip("license-plate-lookup.vue", () => { test("NavigateAfterSave should be called if isCarIdDifferent is true and isSelectedGlassAvailableForVehicle is false when navigateForward is called", async () => { // Arrange @@ -373,7 +372,7 @@ describe("license-plate-lookup.vue", () => { }); }); -describe("license-plate-lookup.vue", () => { +describe.skip("license-plate-lookup.vue", () => { test("navigateAfterSaveToHeritageFunnel should be called if isCarIdDifferent is false or isSelectedGlassAvailableForVehicle is true when navigateForward is called", async () => { // Arrange @@ -393,7 +392,7 @@ describe("license-plate-lookup.vue", () => { }); }); -describe("license-plate-lookup.vue", () => { +describe.skip("license-plate-lookup.vue", () => { test("dispatch non blocking store action called on validate zip", async () => { // Arrange @@ -408,7 +407,7 @@ describe("license-plate-lookup.vue", () => { }); }); -describe("license-plate-lookup.vue", () => { +describe.skip("license-plate-lookup.vue", () => { test("dispatch non blocking store action called on lookup vin", async () => { // Arrange @@ -466,4 +465,3 @@ function setupMocks({ return { wrapper, apiPromise }; } - */ \ No newline at end of file From b1e14f80df2d2ea2c6b7d13f832a165d9c4e2142 Mon Sep 17 00:00:00 2001 From: Donielle Austin Date: Wed, 18 May 2022 08:43:06 -0400 Subject: [PATCH 04/15] ga event defect --- src/layouts/address-lookup/address-lookup.vue | 9 ++++----- .../license-plate-lookup/license-plate-lookup.vue | 7 +++---- src/layouts/vin-lookup/vin-lookup.vue | 7 +++---- src/mixins/analytics-mixin.js | 9 +++++++-- 4 files changed, 17 insertions(+), 15 deletions(-) diff --git a/src/layouts/address-lookup/address-lookup.vue b/src/layouts/address-lookup/address-lookup.vue index 87278476a..cebc7e414 100644 --- a/src/layouts/address-lookup/address-lookup.vue +++ b/src/layouts/address-lookup/address-lookup.vue @@ -153,16 +153,15 @@ export default { ); }, attachCustomEvents() { - this.prependActionToMethod(this, this.forwardButtonAction, this.logGAEventForVin()); - }, - logGAEventForVin(){ + this.prependActionToMethod(this, this.forwardButtonAction, () => { this.pushEventToGA( this.$route.query[this.queryStrings.FMG_PAGE], this.GaActions.SUBMITTED, this.GaLabels.ADDRESS_LOOKUP, true - ); - }, + ); + }); + }, getRegistrationAddressFromStore() { return store.getters.vehicle.registration.address; }, diff --git a/src/layouts/license-plate-lookup/license-plate-lookup.vue b/src/layouts/license-plate-lookup/license-plate-lookup.vue index 13f50ecc4..e76f05435 100644 --- a/src/layouts/license-plate-lookup/license-plate-lookup.vue +++ b/src/layouts/license-plate-lookup/license-plate-lookup.vue @@ -187,15 +187,14 @@ export default { store.dispatch(storeActions.RESET_PARTS_STATE_AND_DEPENDENCIES); }, attachCustomEvents() { - this.prependActionToMethod(this, this.forwardButtonAction, this.logGAEventForVin()); - }, - logGAEventForVin(){ + this.prependActionToMethod(this, this.forwardButtonAction, () => { this.pushEventToGA( this.$route.query[this.queryStrings.FMG_PAGE], this.GaActions.SUBMITTED, this.GaLabels.LICENSE_PLATE_LOOKUP, true - ); + ); + }); }, getLicensePlateFromStore() { return store.getters.vehicle.registration.licensePlate; diff --git a/src/layouts/vin-lookup/vin-lookup.vue b/src/layouts/vin-lookup/vin-lookup.vue index 4dc1f6382..1ef501829 100644 --- a/src/layouts/vin-lookup/vin-lookup.vue +++ b/src/layouts/vin-lookup/vin-lookup.vue @@ -259,15 +259,14 @@ export default { return store.getters.order.serviceLocation.zipCode; }, attachCustomEvents() { - this.prependActionToMethod(this, this.forwardButtonAction, this.logGAEventForVin()); - }, - logGAEventForVin(){ - this.pushEventToGA( + this.prependActionToMethod(this, this.forwardButtonAction, () => { + this.pushEventToGA( this.$route.query[this.queryStrings.FMG_PAGE], this.GaActions.SUBMITTED, this.GaLabels.VIN_LOOKUP, true ); + }); }, backButtonAction() { this.$router.navigate(this.navigationScenarios.CLICKED_BACK, this.$route); diff --git a/src/mixins/analytics-mixin.js b/src/mixins/analytics-mixin.js index d13e1b222..926c4764c 100644 --- a/src/mixins/analytics-mixin.js +++ b/src/mixins/analytics-mixin.js @@ -97,8 +97,13 @@ export default { }, prependActionToMethod(object, method, actionToPrepend) { - const baseMethod = object[method.name]; - object[method.name] = function () { + var baseMethod = object[method.name]; + if(method.name.startsWith('bound ')){ + baseMethod = method.name.substring(6); + }else{ + baseMethod = object[method.name]; + } + object[method.name.substring(6)] = function () { actionToPrepend.apply(this, arguments); return baseMethod.apply(object, arguments); }; From e04979829a8631adb0124d49a402eba820ddd849 Mon Sep 17 00:00:00 2001 From: Donielle Austin Date: Wed, 18 May 2022 18:18:40 -0400 Subject: [PATCH 05/15] ga event defect --- src/layouts/address-lookup/address-lookup.vue | 11 +++--- .../license-plate-lookup.spec.js | 36 +++++++++---------- .../license-plate-lookup.vue | 9 ++--- src/layouts/vin-lookup/vin-lookup.vue | 9 ++--- src/mixins/analytics-mixin.js | 10 ++---- 5 files changed, 37 insertions(+), 38 deletions(-) diff --git a/src/layouts/address-lookup/address-lookup.vue b/src/layouts/address-lookup/address-lookup.vue index 71e91f11a..e4db3aee6 100644 --- a/src/layouts/address-lookup/address-lookup.vue +++ b/src/layouts/address-lookup/address-lookup.vue @@ -151,11 +151,12 @@ export default { ); }, attachCustomEvents() { - this.prependActionToMethod(this, this.forwardButtonAction, () => { - this.pushEventToGA( - this.$route.query[this.queryStrings.FMG_PAGE], - this.GaActions.SUBMITTED, - this.GaLabels.ADDRESS_LOOKUP, + this.prependActionToMethod(this, this.forwardButtonAction, () => { + const self = this; + self.pushEventToGA( + self.$route.query[self.queryStrings.FMG_PAGE], + self.GaActions.SUBMITTED, + self.GaLabels.ADDRESS_LOOKUP, true ); }); diff --git a/src/layouts/license-plate-lookup/license-plate-lookup.spec.js b/src/layouts/license-plate-lookup/license-plate-lookup.spec.js index 2d613c47a..281947ae4 100644 --- a/src/layouts/license-plate-lookup/license-plate-lookup.spec.js +++ b/src/layouts/license-plate-lookup/license-plate-lookup.spec.js @@ -47,7 +47,7 @@ jest.mock("@/store", () => ({ }, })); -describe.skip("license-plate-lookup.vue", () => { +describe("license-plate-lookup.vue", () => { test("CarId set, arePagePrerequisitesValid should be true ", async () => { //Arrange const { wrapper } = setupMocks({}); @@ -68,7 +68,7 @@ describe.skip("license-plate-lookup.vue", () => { }); }); -describe.skip("license-plate-lookup.vue", () => { +describe("license-plate-lookup.vue", () => { test("BackButtonAction triggers a router.navigate change", async () => { //Arrange @@ -89,7 +89,7 @@ describe.skip("license-plate-lookup.vue", () => { }); }); -describe.skip("license-plate-lookup.vue", () => { +describe("license-plate-lookup.vue", () => { test("getLicensePlateFromStore returns store license plate", async () => { // Arrange @@ -103,7 +103,7 @@ describe.skip("license-plate-lookup.vue", () => { }); }); -describe.skip("license-plate-lookup.vue", () => { +describe("license-plate-lookup.vue", () => { test("getRegistrationZipFromStore returns store registration zip", async () => { // Arrange @@ -117,7 +117,7 @@ describe.skip("license-plate-lookup.vue", () => { }); }); -describe.skip("license-plate-lookup.vue", () => { +describe("license-plate-lookup.vue", () => { test("getEmailFromStore returns store customer email", async () => { // Arrange @@ -131,7 +131,7 @@ describe.skip("license-plate-lookup.vue", () => { }); }); -describe.skip("license-plate-lookup.vue", () => { +describe("license-plate-lookup.vue", () => { test("getServiceZipFromStore returns store service zip", async () => { // Arrange @@ -145,7 +145,7 @@ describe.skip("license-plate-lookup.vue", () => { }); }); -describe.skip("license-plate-lookup.vue", () => { +describe("license-plate-lookup.vue", () => { test("Navigate forward should be called and isCarId should be set to false when data entered matches store data on forwardButtonAction click", async () => { // Arrange @@ -179,7 +179,7 @@ describe.skip("license-plate-lookup.vue", () => { }); }); -describe.skip("license-plate-lookup.vue", () => { +describe("license-plate-lookup.vue", () => { test("Function should stop and datam isRegistrationZipServicable should be set to false when service zip entered returns false on forwardButtonAction click", async () => { // Arrange @@ -207,7 +207,7 @@ describe.skip("license-plate-lookup.vue", () => { }); }); -describe.skip("license-plate-lookup.vue", () => { +describe("license-plate-lookup.vue", () => { test("Function should stop and datam isCarIdDifferent should be set to true when carId entered doesn't match store carId or previously entered carId on forwardButtonAction click", async () => { // Arrange @@ -241,7 +241,7 @@ describe.skip("license-plate-lookup.vue", () => { }); }); -describe.skip("license-plate-lookup.vue", () => { +describe("license-plate-lookup.vue", () => { test("Navigate forward should be called and isCarId should be set to true when carId entered matches previously entered carId and rest of data entered matches store data on forwardButtonAction click", async () => { // Arrange @@ -276,7 +276,7 @@ describe.skip("license-plate-lookup.vue", () => { }); }); -describe.skip("license-plate-lookup.vue", () => { +describe("license-plate-lookup.vue", () => { test("Button Text should revert to initial value when licensePlate textfield has new text", async () => { // Arrange @@ -293,7 +293,7 @@ describe.skip("license-plate-lookup.vue", () => { }); }); -describe.skip("license-plate-lookup.vue", () => { +describe("license-plate-lookup.vue", () => { test("Button Text should revert to initial value when registrationZip textfield has new text", async () => { // Arrange @@ -310,7 +310,7 @@ describe.skip("license-plate-lookup.vue", () => { }); }); -describe.skip("license-plate-lookup.vue", () => { +describe("license-plate-lookup.vue", () => { test("Button Text should revert to initial value when serviceZip textfield has new text", async () => { // Arrange @@ -327,7 +327,7 @@ describe.skip("license-plate-lookup.vue", () => { }); }); -describe.skip("license-plate-lookup.vue", () => { +describe("license-plate-lookup.vue", () => { test("Dispatch reset damage and dependencies should be called if isCarIdDifferent is true and isSelectedGlassAvailableForVehicle is false when updateCustomerInfo is called", async () => { // Arrange @@ -350,7 +350,7 @@ describe.skip("license-plate-lookup.vue", () => { }); }); -describe.skip("license-plate-lookup.vue", () => { +describe("license-plate-lookup.vue", () => { test("NavigateAfterSave should be called if isCarIdDifferent is true and isSelectedGlassAvailableForVehicle is false when navigateForward is called", async () => { // Arrange @@ -372,7 +372,7 @@ describe.skip("license-plate-lookup.vue", () => { }); }); -describe.skip("license-plate-lookup.vue", () => { +describe("license-plate-lookup.vue", () => { test("navigateAfterSaveToHeritageFunnel should be called if isCarIdDifferent is false or isSelectedGlassAvailableForVehicle is true when navigateForward is called", async () => { // Arrange @@ -392,7 +392,7 @@ describe.skip("license-plate-lookup.vue", () => { }); }); -describe.skip("license-plate-lookup.vue", () => { +describe("license-plate-lookup.vue", () => { test("dispatch non blocking store action called on validate zip", async () => { // Arrange @@ -407,7 +407,7 @@ describe.skip("license-plate-lookup.vue", () => { }); }); -describe.skip("license-plate-lookup.vue", () => { +describe("license-plate-lookup.vue", () => { test("dispatch non blocking store action called on lookup vin", async () => { // Arrange diff --git a/src/layouts/license-plate-lookup/license-plate-lookup.vue b/src/layouts/license-plate-lookup/license-plate-lookup.vue index 17aa1b632..3748ac776 100644 --- a/src/layouts/license-plate-lookup/license-plate-lookup.vue +++ b/src/layouts/license-plate-lookup/license-plate-lookup.vue @@ -229,10 +229,11 @@ export default { }, attachCustomEvents() { this.prependActionToMethod(this, this.forwardButtonAction, () => { - this.pushEventToGA( - this.$route.query[this.queryStrings.FMG_PAGE], - this.GaActions.SUBMITTED, - this.GaLabels.LICENSE_PLATE_LOOKUP, + const self = this; + self.pushEventToGA( + self.$route.query[self.queryStrings.FMG_PAGE], + self.GaActions.SUBMITTED, + self.GaLabels.LICENSE_PLATE_LOOKUP, true ); }); diff --git a/src/layouts/vin-lookup/vin-lookup.vue b/src/layouts/vin-lookup/vin-lookup.vue index e19a86e68..8e21e3d04 100644 --- a/src/layouts/vin-lookup/vin-lookup.vue +++ b/src/layouts/vin-lookup/vin-lookup.vue @@ -277,10 +277,11 @@ export default { }, attachCustomEvents() { this.prependActionToMethod(this, this.forwardButtonAction, () => { - this.pushEventToGA( - this.$route.query[this.queryStrings.FMG_PAGE], - this.GaActions.SUBMITTED, - this.GaLabels.VIN_LOOKUP, + const self = this; + self.pushEventToGA( + self.$route.query[self.queryStrings.FMG_PAGE], + self.GaActions.SUBMITTED, + self.GaLabels.VIN_LOOKUP, true ); }); diff --git a/src/mixins/analytics-mixin.js b/src/mixins/analytics-mixin.js index 926c4764c..6ceb3b48f 100644 --- a/src/mixins/analytics-mixin.js +++ b/src/mixins/analytics-mixin.js @@ -97,13 +97,9 @@ export default { }, prependActionToMethod(object, method, actionToPrepend) { - var baseMethod = object[method.name]; - if(method.name.startsWith('bound ')){ - baseMethod = method.name.substring(6); - }else{ - baseMethod = object[method.name]; - } - object[method.name.substring(6)] = function () { + let baseMethodName = method.name.startsWith('bound ') ? method.name.substring(6) : method.name ; + const baseMethod = object[baseMethodName]; + object[baseMethodName] = function () { actionToPrepend.apply(this, arguments); return baseMethod.apply(object, arguments); }; From e83710fb024653e3a0683d26da05c5e27c233da6 Mon Sep 17 00:00:00 2001 From: Donielle Austin Date: Thu, 19 May 2022 08:30:54 -0400 Subject: [PATCH 06/15] ga defect --- src/layouts/address-lookup/address-lookup.vue | 9 ++++----- .../license-plate-lookup/license-plate-lookup.vue | 9 ++++----- src/layouts/vin-lookup/vin-lookup.vue | 9 ++++----- 3 files changed, 12 insertions(+), 15 deletions(-) diff --git a/src/layouts/address-lookup/address-lookup.vue b/src/layouts/address-lookup/address-lookup.vue index e4db3aee6..f6e0d2b3d 100644 --- a/src/layouts/address-lookup/address-lookup.vue +++ b/src/layouts/address-lookup/address-lookup.vue @@ -152,11 +152,10 @@ export default { }, attachCustomEvents() { this.prependActionToMethod(this, this.forwardButtonAction, () => { - const self = this; - self.pushEventToGA( - self.$route.query[self.queryStrings.FMG_PAGE], - self.GaActions.SUBMITTED, - self.GaLabels.ADDRESS_LOOKUP, + this.pushEventToGA( + this.$route.query[this.queryStrings.FMG_PAGE], + this.GaActions.SUBMITTED, + this.GaLabels.ADDRESS_LOOKUP, true ); }); diff --git a/src/layouts/license-plate-lookup/license-plate-lookup.vue b/src/layouts/license-plate-lookup/license-plate-lookup.vue index 3748ac776..17aa1b632 100644 --- a/src/layouts/license-plate-lookup/license-plate-lookup.vue +++ b/src/layouts/license-plate-lookup/license-plate-lookup.vue @@ -229,11 +229,10 @@ export default { }, attachCustomEvents() { this.prependActionToMethod(this, this.forwardButtonAction, () => { - const self = this; - self.pushEventToGA( - self.$route.query[self.queryStrings.FMG_PAGE], - self.GaActions.SUBMITTED, - self.GaLabels.LICENSE_PLATE_LOOKUP, + this.pushEventToGA( + this.$route.query[this.queryStrings.FMG_PAGE], + this.GaActions.SUBMITTED, + this.GaLabels.LICENSE_PLATE_LOOKUP, true ); }); diff --git a/src/layouts/vin-lookup/vin-lookup.vue b/src/layouts/vin-lookup/vin-lookup.vue index 8e21e3d04..e19a86e68 100644 --- a/src/layouts/vin-lookup/vin-lookup.vue +++ b/src/layouts/vin-lookup/vin-lookup.vue @@ -277,11 +277,10 @@ export default { }, attachCustomEvents() { this.prependActionToMethod(this, this.forwardButtonAction, () => { - const self = this; - self.pushEventToGA( - self.$route.query[self.queryStrings.FMG_PAGE], - self.GaActions.SUBMITTED, - self.GaLabels.VIN_LOOKUP, + this.pushEventToGA( + this.$route.query[this.queryStrings.FMG_PAGE], + this.GaActions.SUBMITTED, + this.GaLabels.VIN_LOOKUP, true ); }); From 4715698f8e5cc1c750cad0fa67092493063b8ced Mon Sep 17 00:00:00 2001 From: Donielle Austin Date: Thu, 19 May 2022 08:36:22 -0400 Subject: [PATCH 07/15] ga defect --- src/mixins/analytics-mixin.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mixins/analytics-mixin.js b/src/mixins/analytics-mixin.js index 6ceb3b48f..133187797 100644 --- a/src/mixins/analytics-mixin.js +++ b/src/mixins/analytics-mixin.js @@ -97,7 +97,7 @@ export default { }, prependActionToMethod(object, method, actionToPrepend) { - let baseMethodName = method.name.startsWith('bound ') ? method.name.substring(6) : method.name ; + const baseMethodName = method.name.startsWith('bound ') ? method.name.substring(6) : method.name ; const baseMethod = object[baseMethodName]; object[baseMethodName] = function () { actionToPrepend.apply(this, arguments); From c8c48ebeb2e2716dfb819e486d24b406f91f4bbc Mon Sep 17 00:00:00 2001 From: bmauger Date: Thu, 19 May 2022 08:54:22 -0400 Subject: [PATCH 08/15] Update error styles per CSR-629 --- src/styles/common-error-styles.scss | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/styles/common-error-styles.scss b/src/styles/common-error-styles.scss index 587900512..95985f7c4 100644 --- a/src/styles/common-error-styles.scss +++ b/src/styles/common-error-styles.scss @@ -88,12 +88,14 @@ html { border: 1px solid $gray-500; input:not(:focus) { + label { + border: none; box-shadow: 0 0 0 1px $gray-500; border-radius: .5rem; } } input:checked:focus { + label { + border: none; box-shadow: 0 0 0 2.5px $blue; border-radius: .5rem; } From 548310887bc790306d6d07f0cfe5904a782560b2 Mon Sep 17 00:00:00 2001 From: Donielle Austin Date: Thu, 19 May 2022 09:25:15 -0400 Subject: [PATCH 09/15] ga defect tests --- src/mixins/analytics-mixin.spec.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/mixins/analytics-mixin.spec.js b/src/mixins/analytics-mixin.spec.js index e63778466..8dd49045d 100644 --- a/src/mixins/analytics-mixin.spec.js +++ b/src/mixins/analytics-mixin.spec.js @@ -107,4 +107,17 @@ describe("analyticsMixin.js", () => { }]); }); + + test("Obj is not null after action prepended", () => { + //Arrange + const obj = {baseMethodName:"testMethodName", data:"testData"}; + const method = {name:"testMethodName", data:"testData" } + const action = "testAction"; + + //Act + analyticsMixin.methods.prependActionToMethod(obj, method, action); + + //Assert + expect(obj!=null); + }); }); \ No newline at end of file From 1540f31ee89a2186f278bc8f8a866ce4fe18d732 Mon Sep 17 00:00:00 2001 From: Adam Caouette Date: Thu, 19 May 2022 09:42:12 -0400 Subject: [PATCH 10/15] CSR-584: fix missing zip-format validation rule, reformatting --- .../license-plate-lookup.vue | 62 +++++-------------- src/layouts/vin-lookup/vin-lookup.vue | 31 +++------- 2 files changed, 23 insertions(+), 70 deletions(-) diff --git a/src/layouts/license-plate-lookup/license-plate-lookup.vue b/src/layouts/license-plate-lookup/license-plate-lookup.vue index 3d65717cf..5e5c5e722 100644 --- a/src/layouts/license-plate-lookup/license-plate-lookup.vue +++ b/src/layouts/license-plate-lookup/license-plate-lookup.vue @@ -24,7 +24,7 @@ v-model="registrationZip" inputId="zip" mask="#####" - validationRules="zip-required" + validationRules="zip-required|zip-format" /> @@ -54,6 +54,7 @@ v-model="serviceZip" inputId="serviceZip" validationRules="zip-required|zip-format" + semiAggressiveValidation /> @@ -87,56 +88,25 @@ import alert from "@/ux-components/alert/alert"; import textboxQuestion from "@/common-components/textbox-question/textbox-question"; import loadingModal from '@/common-components/loading-modal/loading-modal.vue'; // Supporting files -import { - fetchCmsContentForPage -} from "@/helpers/cms-content-helper"; -import { - settleAllPromises -} from "@/helpers/layout-helper"; +import { fetchCmsContentForPage } from "@/helpers/cms-content-helper"; +import { settleAllPromises } from "@/helpers/layout-helper"; import store from "@/store"; import baseMixin from "@/mixins/base-mixin.js"; -import { - storeActions -} from "@/constants/store-actions"; -import { - storeMutations -} from "@/constants/store-mutations"; -import { - errorMessages -} from "@/constants/error-messages"; -import { - navigateAfterSaveToHeritageFunnel -} from "@/helpers/heritage-integration/navigation-helper"; -import { - getDamageString, - isGlassAvailableForCarId, -} from "@/helpers/damage-helper"; -import { - required, - regex, -} from "@/helpers/validation-rules"; -import { - Form, - defineRule, -} from "vee-validate"; +import { storeActions } from "@/constants/store-actions"; +import { storeMutations } from "@/constants/store-mutations"; +import { errorMessages } from "@/constants/error-messages"; +import { navigateAfterSaveToHeritageFunnel } from "@/helpers/heritage-integration/navigation-helper"; +import { getDamageString, isGlassAvailableForCarId, } from "@/helpers/damage-helper"; +import { required, regex, } from "@/helpers/validation-rules"; +import { Form, defineRule, } from "vee-validate"; // DEFINE VALIDATION RULES -defineRule( - "license-plate-required", - required(errorMessages.LICENSE_PLATE_REQUIRED) -); +defineRule("license-plate-required", required(errorMessages.LICENSE_PLATE_REQUIRED)); defineRule("zip-required", required(errorMessages.REGISTRATION_ZIP_REQUIRED)); -defineRule( - "email-address-required", - required(errorMessages.EMAIL_ADDRESS_REQUIRED) -); -defineRule( - "email-address-format", - regex( - /^([a-zA-Z0-9_\-.+]+)@([a-zA-Z0-9_\-.]+)\.([a-zA-Z]{2,})$/, - errorMessages.EMAIL_ADDRESS_FORMAT - ) -); +defineRule("zip-format", regex(/(^\d{5}$)|(^\d{5}-\d{4}$)/, errorMessages.SERVICE_ZIP_FORMAT)); +defineRule("email-address-required", required(errorMessages.EMAIL_ADDRESS_REQUIRED)); +defineRule("email-address-format", regex(/^([a-zA-Z0-9_\-.+]+)@([a-zA-Z0-9_\-.]+)\.([a-zA-Z]{2,})$/, errorMessages.EMAIL_ADDRESS_FORMAT)); + export default { name: "license-plate-lookup", async beforeRouteEnter(to, from, next) { diff --git a/src/layouts/vin-lookup/vin-lookup.vue b/src/layouts/vin-lookup/vin-lookup.vue index 56da4301d..97e0aaf6a 100644 --- a/src/layouts/vin-lookup/vin-lookup.vue +++ b/src/layouts/vin-lookup/vin-lookup.vue @@ -41,7 +41,7 @@ mask="#####" isRequired disableAutoFill - validationRules="zip-required" + validationRules="zip-required|zip-format" /> @@ -141,29 +141,12 @@ import { Form, defineRule } from "vee-validate"; import { navigateAfterSaveToHeritageFunnel } from "@/helpers/heritage-integration/navigation-helper"; // DEFINE VALIDATION RULES -defineRule( - "zip-required", - required(errorMessages.SERVICE_ZIP_REQUIRED) -); -defineRule( - "email-address-required", - required(errorMessages.EMAIL_ADDRESS_REQUIRED) -); -defineRule( - "email-address-format", - regex( - /^([a-zA-Z0-9_\-.+]+)@([a-zA-Z0-9_\-.]+)\.([a-zA-Z]{2,})$/, - errorMessages.EMAIL_ADDRESS_FORMAT - ) -); -defineRule( - "vin-required", - required(errorMessages.VIN_REQUIRED) -); -defineRule( - "vin-format", - regex(/^[A-HJ-NPR-Z0-9]{17}$/, errorMessages.VIN_FORMAT) -); +defineRule("zip-required", required(errorMessages.SERVICE_ZIP_REQUIRED)); +defineRule("zip-format", regex(/(^\d{5}$)|(^\d{5}-\d{4}$)/, errorMessages.SERVICE_ZIP_FORMAT)); +defineRule("email-address-required", required(errorMessages.EMAIL_ADDRESS_REQUIRED)); +defineRule("email-address-format", regex(/^([a-zA-Z0-9_\-.+]+)@([a-zA-Z0-9_\-.]+)\.([a-zA-Z]{2,})$/, errorMessages.EMAIL_ADDRESS_FORMAT)); +defineRule("vin-required", required(errorMessages.VIN_REQUIRED)); +defineRule("vin-format", regex(/^[A-HJ-NPR-Z0-9]{17}$/, errorMessages.VIN_FORMAT)); export default { name: "vin-lookup", From 5a9cb343a80c38ca083fe153a569d4b474565d66 Mon Sep 17 00:00:00 2001 From: bmauger Date: Thu, 19 May 2022 10:03:38 -0400 Subject: [PATCH 11/15] Temp lower coverage. --- jest.config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jest.config.js b/jest.config.js index 0749f4f71..839db4378 100644 --- a/jest.config.js +++ b/jest.config.js @@ -34,7 +34,7 @@ module.exports = { testMatch: ["**/*.spec.(js|jsx|ts|tsx)|**/__tests__/*.(js|jsx|ts|tsx)"], coverageThreshold: { global: { - statements: 85, + statements: 84, // Got the go ahead from Mark to temporarily lower this. Taking out initialize component made the year,make,model and style coverage drop a bit. Once unit tests for license plate lookup, vin lookup and address lookup are in the coverage should go back up to 90 }, }, From c52072faed3b188f7ced13f64c9611cd4ef00e57 Mon Sep 17 00:00:00 2001 From: Adam Caouette Date: Thu, 19 May 2022 10:09:53 -0400 Subject: [PATCH 12/15] CSR-606: expand regex of vin-format validation rule to allow lowercase letters --- src/layouts/vin-lookup/vin-lookup.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/layouts/vin-lookup/vin-lookup.vue b/src/layouts/vin-lookup/vin-lookup.vue index e19a86e68..feb15adfc 100644 --- a/src/layouts/vin-lookup/vin-lookup.vue +++ b/src/layouts/vin-lookup/vin-lookup.vue @@ -162,7 +162,7 @@ defineRule( ); defineRule( "vin-format", - regex(/^[A-HJ-NPR-Z0-9]{17}$/, errorMessages.VIN_FORMAT) + regex(/^[a-hA-Hj-nJ-NpPr-zR-Z0-9]{17}$/, errorMessages.VIN_FORMAT) ); export default { From 6e24dc14170fda8667887cfd74a13943562003de Mon Sep 17 00:00:00 2001 From: bmauger Date: Thu, 19 May 2022 10:44:19 -0400 Subject: [PATCH 13/15] Test modal. --- src/common-components/loading-modal/loading-modal.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/common-components/loading-modal/loading-modal.vue b/src/common-components/loading-modal/loading-modal.vue index a44347860..ed3a48ddf 100644 --- a/src/common-components/loading-modal/loading-modal.vue +++ b/src/common-components/loading-modal/loading-modal.vue @@ -8,7 +8,7 @@
- + #eMBmJ8qcPAf4_to {animation: eMBmJ8qcPAf4_to__to 30000ms linear 1 normal forwards}@keyframes eMBmJ8qcPAf4_to__to { 0% {transform: translate(162.851563px,121.421875px)} 13.333333% {transform: translate(162.851563px,121.421875px);animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 15% {transform: translate(162.851563px,101.421875px)} 100% {transform: translate(162.851563px,101.421875px)}} #eMBmJ8qcPAf4 {animation: eMBmJ8qcPAf4_c_o 30000ms linear 1 normal forwards}@keyframes eMBmJ8qcPAf4_c_o { 0% {opacity: 1} 13.333333% {opacity: 1;animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 15% {opacity: 0} 100% {opacity: 0}} #eMBmJ8qcPAf5_to {animation: eMBmJ8qcPAf5_to__to 30000ms linear 1 normal forwards}@keyframes eMBmJ8qcPAf5_to__to { 0% {transform: translate(150.339843px,121.421876px)} 6.666667% {transform: translate(150.339843px,121.421876px);animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 8.333333% {transform: translate(162.652343px,121.421876px)} 100% {transform: translate(162.652343px,121.421876px)}} #eMBmJ8qcPAf5 {animation: eMBmJ8qcPAf5_f_p 30000ms linear 1 normal forwards}@keyframes eMBmJ8qcPAf5_f_p { 0% {fill: #4d5151} 6.666667% {fill: #4d5151} 8.333333% {fill: #000} 100% {fill: #000}} #eMBmJ8qcPAf7_ts {animation: eMBmJ8qcPAf7_ts__ts 30000ms linear 1 normal forwards}@keyframes eMBmJ8qcPAf7_ts__ts { 0% {transform: translate(61.25px,121.25px) scale(0.5,0.5)} 6.666667% {transform: translate(61.25px,121.25px) scale(0.5,0.5);animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 8.333333% {transform: translate(61.25px,121.25px) scale(1,1)} 100% {transform: translate(61.25px,121.25px) scale(1,1)}} #eMBmJ8qcPAf7 {animation: eMBmJ8qcPAf7_c_o 30000ms linear 1 normal forwards}@keyframes eMBmJ8qcPAf7_c_o { 0% {opacity: 0} 6.666667% {opacity: 0;animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 8.333333% {opacity: 1} 100% {opacity: 1}} #eMBmJ8qcPAf10 {animation: eMBmJ8qcPAf10_c_o 30000ms linear 1 normal forwards}@keyframes eMBmJ8qcPAf10_c_o { 0% {opacity: 1} 13.333333% {opacity: 1} 15% {opacity: 0} 100% {opacity: 0}} #eMBmJ8qcPAf14_to {animation: eMBmJ8qcPAf14_to__to 30000ms linear 1 normal forwards}@keyframes eMBmJ8qcPAf14_to__to { 0% {transform: translate(162.851563px,141.421875px)} 13.333333% {transform: translate(162.851563px,141.421875px);animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 15% {transform: translate(162.851563px,121.421875px)} 28.333333% {transform: translate(163px,121.414063px);animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 30% {transform: translate(162.851563px,101.421875px)} 100% {transform: translate(162.851563px,101.421875px)}} #eMBmJ8qcPAf14 {animation: eMBmJ8qcPAf14_c_o 30000ms linear 1 normal forwards}@keyframes eMBmJ8qcPAf14_c_o { 0% {opacity: 0} 13.333333% {opacity: 0;animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 15% {opacity: 1} 28.333333% {opacity: 1;animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 30% {opacity: 0} 100% {opacity: 0}} #eMBmJ8qcPAf15_to {animation: eMBmJ8qcPAf15_to__to 30000ms linear 1 normal forwards}@keyframes eMBmJ8qcPAf15_to__to { 0% {transform: translate(150.339843px,121.421876px)} 21.666667% {transform: translate(150.339843px,121.421876px);animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 23.333333% {transform: translate(162.652343px,121.421876px)} 100% {transform: translate(162.652343px,121.421876px)}} #eMBmJ8qcPAf15 {animation: eMBmJ8qcPAf15_f_p 30000ms linear 1 normal forwards}@keyframes eMBmJ8qcPAf15_f_p { 0% {fill: #4d5151} 21.666667% {fill: #4d5151} 23.333333% {fill: #000} 100% {fill: #000}} #eMBmJ8qcPAf17_ts {animation: eMBmJ8qcPAf17_ts__ts 30000ms linear 1 normal forwards}@keyframes eMBmJ8qcPAf17_ts__ts { 0% {transform: translate(61.25px,121.25px) scale(0.5,0.5)} 21.666667% {transform: translate(61.25px,121.25px) scale(0.5,0.5);animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 23.333333% {transform: translate(61.25px,121.25px) scale(1,1)} 100% {transform: translate(61.25px,121.25px) scale(1,1)}} #eMBmJ8qcPAf17 {animation: eMBmJ8qcPAf17_c_o 30000ms linear 1 normal forwards}@keyframes eMBmJ8qcPAf17_c_o { 0% {opacity: 0} 21.666667% {opacity: 0;animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 23.333333% {opacity: 1} 100% {opacity: 1}} #eMBmJ8qcPAf20 {animation: eMBmJ8qcPAf20_c_o 30000ms linear 1 normal forwards}@keyframes eMBmJ8qcPAf20_c_o { 0% {opacity: 0} 13.333333% {opacity: 0} 15% {opacity: 1} 28.333333% {opacity: 1} 30% {opacity: 0} 100% {opacity: 0}} #eMBmJ8qcPAf31_to {animation: eMBmJ8qcPAf31_to__to 30000ms linear 1 normal forwards}@keyframes eMBmJ8qcPAf31_to__to { 0% {transform: translate(163px,141.421875px)} 28.333333% {transform: translate(163px,141.421875px);animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 30% {transform: translate(163px,121.421876px)} 43.333333% {transform: translate(163px,121.414063px)} 100% {transform: translate(163px,121.414063px)}} #eMBmJ8qcPAf31 {animation: eMBmJ8qcPAf31_c_o 30000ms linear 1 normal forwards}@keyframes eMBmJ8qcPAf31_c_o { 0% {opacity: 0} 28.333333% {opacity: 0;animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 30% {opacity: 1} 43.333333% {opacity: 1} 100% {opacity: 1}} #eMBmJ8qcPAf37 {animation: eMBmJ8qcPAf37_c_o 30000ms linear 1 normal forwards}@keyframes eMBmJ8qcPAf37_c_o { 0% {opacity: 0} 28.333333% {opacity: 0} 30% {opacity: 1} 100% {opacity: 1}} #eMBmJ8qcPAf42_tr {animation: eMBmJ8qcPAf42_tr__tr 30000ms linear 1 normal forwards}@keyframes eMBmJ8qcPAf42_tr__tr { 0% {transform: translate(40px,40px) rotate(0deg)} 8.333333% {transform: translate(40px,40px) rotate(0deg);animation-timing-function: cubic-bezier(0.534019,0,0.824873,0.402208)} 13.333333% {transform: translate(40px,40px) rotate(0deg);animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 15% {transform: translate(40px,40px) rotate(360deg);animation-timing-function: cubic-bezier(0.895,0.03,0.685,0.22)} 23.333333% {transform: translate(40px,40px) rotate(360deg);animation-timing-function: cubic-bezier(0.956817,0,0.673808,0.650156)} 28.333333% {transform: translate(40px,40px) rotate(360deg);animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 30% {transform: translate(40px,40px) rotate(720deg);animation-timing-function: cubic-bezier(0.895,0.03,0.685,0.22)} 33.333333% {transform: translate(40px,40px) rotate(720deg);animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 36.666667% {transform: translate(40px,40px) rotate(1080deg);animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 40% {transform: translate(40px,40px) rotate(1080deg);animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 43.333333% {transform: translate(40px,40px) rotate(1440deg);animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 46.666667% {transform: translate(40px,40px) rotate(1440deg);animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 50% {transform: translate(40px,40px) rotate(1800deg);animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 53.333333% {transform: translate(40px,40px) rotate(1800deg);animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 56.666667% {transform: translate(40px,40px) rotate(2160deg);animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 60% {transform: translate(40px,40px) rotate(2160deg);animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 63.333333% {transform: translate(40px,40px) rotate(2520deg);animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 66.666667% {transform: translate(40px,40px) rotate(2520deg);animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 70% {transform: translate(40px,40px) rotate(2880deg);animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 73.333333% {transform: translate(40px,40px) rotate(2880deg);animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 76.666667% {transform: translate(40px,40px) rotate(3240deg);animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 80% {transform: translate(40px,40px) rotate(3240deg);animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 83.333333% {transform: translate(40px,40px) rotate(3600deg);animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 86.666667% {transform: translate(40px,40px) rotate(3600deg);animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 90% {transform: translate(40px,40px) rotate(3960deg);animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 93.333333% {transform: translate(40px,40px) rotate(3960deg);animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 96.666667% {transform: translate(40px,40px) rotate(4320deg);animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 100% {transform: translate(40px,40px) rotate(4320deg)}} #eMBmJ8qcPAf42 {animation: eMBmJ8qcPAf42_s_do 30000ms linear 1 normal forwards}@keyframes eMBmJ8qcPAf42_s_do { 0% {stroke-dashoffset: 219.91;animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 8.333333% {stroke-dashoffset: 0;animation-timing-function: cubic-bezier(0.534019,0,0.824873,0.402208)} 13.333333% {stroke-dashoffset: 0;animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 15% {stroke-dashoffset: 219.91;animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 23.333333% {stroke-dashoffset: 0;animation-timing-function: cubic-bezier(0.956817,0,0.673808,0.650156)} 28.333333% {stroke-dashoffset: 0;animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 30% {stroke-dashoffset: 219.91;animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 33.333333% {stroke-dashoffset: 0;animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 36.666667% {stroke-dashoffset: 219.91;animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 40% {stroke-dashoffset: 0;animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 43.333333% {stroke-dashoffset: 219.91;animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 46.666667% {stroke-dashoffset: 0;animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 50% {stroke-dashoffset: 219.91;animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 53.333333% {stroke-dashoffset: 0;animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 56.666667% {stroke-dashoffset: 219.91;animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 60% {stroke-dashoffset: 0;animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 63.333333% {stroke-dashoffset: 219.91;animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 66.666667% {stroke-dashoffset: 0;animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 70% {stroke-dashoffset: 219.91;animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 73.333333% {stroke-dashoffset: 0;animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 76.666667% {stroke-dashoffset: 219.91;animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 80% {stroke-dashoffset: 0;animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 83.333333% {stroke-dashoffset: 219.91;animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 86.666667% {stroke-dashoffset: 0;animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 90% {stroke-dashoffset: 219.91;animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 93.333333% {stroke-dashoffset: 0;animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 96.666667% {stroke-dashoffset: 219.91;animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 100% {stroke-dashoffset: 0}} #eMBmJ8qcPAf43_to {animation: eMBmJ8qcPAf43_to__to 30000ms linear 1 normal forwards}@keyframes eMBmJ8qcPAf43_to__to { 0% {transform: translate(166.296875px,163.210937px)} 48.333333% {transform: translate(166.296875px,163.210937px);animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 50% {transform: translate(166.296875px,153.210937px)} 65% {transform: translate(166.296875px,153.210937px);animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 66.666667% {transform: translate(166.296875px,143.210937px)} 100% {transform: translate(166.296875px,143.210937px)}} #eMBmJ8qcPAf43 {animation: eMBmJ8qcPAf43_c_o 30000ms linear 1 normal forwards}@keyframes eMBmJ8qcPAf43_c_o { 0% {opacity: 0} 48.333333% {opacity: 0;animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 50% {opacity: 1} 65% {opacity: 1;animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 66.666667% {opacity: 0} 100% {opacity: 0}} #eMBmJ8qcPAf45_to {animation: eMBmJ8qcPAf45_to__to 30000ms linear 1 normal forwards}@keyframes eMBmJ8qcPAf45_to__to { 0% {transform: translate(166.296875px,163.210937px)} 65% {transform: translate(166.296875px,163.210937px);animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 66.666667% {transform: translate(166.296875px,153.210937px)} 81.666667% {transform: translate(166.296875px,153.210937px);animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 83.333333% {transform: translate(166.296875px,143.210937px)} 100% {transform: translate(166.296875px,143.210937px)}} #eMBmJ8qcPAf45 {animation: eMBmJ8qcPAf45_c_o 30000ms linear 1 normal forwards}@keyframes eMBmJ8qcPAf45_c_o { 0% {opacity: 0} 65% {opacity: 0;animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 66.666667% {opacity: 1} 81.666667% {opacity: 1;animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 83.333333% {opacity: 0} 100% {opacity: 0}} #eMBmJ8qcPAf47_to {animation: eMBmJ8qcPAf47_to__to 30000ms linear 1 normal forwards}@keyframes eMBmJ8qcPAf47_to__to { 0% {transform: translate(166.296875px,163.210937px)} 81.666667% {transform: translate(166.296875px,163.210937px);animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 83.333333% {transform: translate(166.296875px,153.210937px)} 98.333333% {transform: translate(166.296875px,153.210937px);animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 100% {transform: translate(166.296875px,143.210937px)}} #eMBmJ8qcPAf47 {animation: eMBmJ8qcPAf47_c_o 30000ms linear 1 normal forwards}@keyframes eMBmJ8qcPAf47_c_o { 0% {opacity: 0} 81.666667% {opacity: 0;animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 83.333333% {opacity: 1} 98.333333% {opacity: 1;animation-timing-function: cubic-bezier(0.77,0,0.175,1)} 100% {opacity: 0}}Assessing your damageFinding your glassGenerating your quoteAlmost done...Nearly there...Finishing up...@font-face {font-family: 'eMBmJ8qcPAf1:::Roboto';font-style: normal;font-weight: 400;src: url(data:font/ttf;charset=utf-8;base64,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) format('truetype');}
@@ -99,4 +99,4 @@ const FMGAnimatedTransition = require("@/assets/img/FMGTransitionAnimation.svg") width: 75px; height: 75px; } - \ No newline at end of file + From 02b67f93da6cc426de68ec80a152e48bba904cf4 Mon Sep 17 00:00:00 2001 From: bmauger Date: Thu, 19 May 2022 12:33:59 -0400 Subject: [PATCH 14/15] CSR-625,627 spacing fixes. --- src/common-components/button-question/button-question.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/common-components/button-question/button-question.vue b/src/common-components/button-question/button-question.vue index 20ad2b2f8..c2eb72971 100644 --- a/src/common-components/button-question/button-question.vue +++ b/src/common-components/button-question/button-question.vue @@ -40,7 +40,7 @@ -
+
@@ -134,7 +134,7 @@ export default { return answer.Name ? answer.Name : answer; }, handleCheckedChanged(val) { - + this.pushEventToGA(this.$route.query[queryStrings.FMG_PAGE], this.GaActions.CLICKED, val.value, true); if(this.isMultiSelect && this.selectedValues) { From b28f094db7db27760e6e5c4d42cec5a48d97ff80 Mon Sep 17 00:00:00 2001 From: Adam Caouette Date: Thu, 19 May 2022 14:05:15 -0400 Subject: [PATCH 15/15] CSR-606: add maxlength to vin --- src/common-components/textbox-question/textbox-question.vue | 2 ++ src/layouts/vin-lookup/vin-lookup.vue | 1 + 2 files changed, 3 insertions(+) diff --git a/src/common-components/textbox-question/textbox-question.vue b/src/common-components/textbox-question/textbox-question.vue index 31437b8b9..673c1a263 100644 --- a/src/common-components/textbox-question/textbox-question.vue +++ b/src/common-components/textbox-question/textbox-question.vue @@ -19,6 +19,7 @@ :validationRules="validationRules" @change="handleChange" @blur="handleChange" + :maxlength="maxLength ? maxLength : '999'" />
{{ errorMessage }} @@ -55,6 +56,7 @@ export default { validationRules: String, semiAggressiveValidation: Boolean, cmsWidgetName: String, + maxLength: String, }, setup(props) { const propsClone = Object.assign({}, props); diff --git a/src/layouts/vin-lookup/vin-lookup.vue b/src/layouts/vin-lookup/vin-lookup.vue index 541653898..1f4f6c9ce 100644 --- a/src/layouts/vin-lookup/vin-lookup.vue +++ b/src/layouts/vin-lookup/vin-lookup.vue @@ -24,6 +24,7 @@ disableAutoFill validationRules="vin-required|vin-format" :isDisabled="isVinFieldReadOnly" + maxLength="17" />