From 768191ea1abba338dd600ed92c27383d12e11fb7 Mon Sep 17 00:00:00 2001 From: Max Date: Mon, 2 May 2022 12:30:46 -0400 Subject: [PATCH 1/5] Omitting unneeded api parts call and adding unit tests --- jest.config.js | 1 - src/helpers/damage-helper.js | 19 +++++- src/helpers/damage-helper.spec.js | 59 ++++++++++--------- .../license-plate-lookup.vue | 40 +++++-------- 4 files changed, 65 insertions(+), 54 deletions(-) diff --git a/jest.config.js b/jest.config.js index d010bda25..dc59735c2 100644 --- a/jest.config.js +++ b/jest.config.js @@ -11,7 +11,6 @@ module.exports = { "!src/constants/*.js", "!src/router/**/*.js", "!src/helpers/unit-test-helper.js", - "!src/helpers/damage-helper.js", "!src/layouts/component-test/component-test.vue", "!src/layouts/form-test/form-test.vue", "!src/layouts/vin-lookup/vin-lookup.vue", diff --git a/src/helpers/damage-helper.js b/src/helpers/damage-helper.js index 453aadf69..49c7cd59c 100644 --- a/src/helpers/damage-helper.js +++ b/src/helpers/damage-helper.js @@ -3,7 +3,24 @@ import baseMixin from "@/mixins/base-mixin.js"; import { storeActions } from "@/constants/store-actions"; export function getDamageString() { - return store.getters.damage.glassToReplace.length > 1 ? "match" : store.getters.damage.glassToReplace[0].location; + const damageLocations = store.getters.damage.glassToReplace; + let returnString; + if(damageLocations.length > 1){ + returnString = "match" + } else { + switch(damageLocations[0].location) { + case "Windshield": + returnString = "windshield" + break; + case "Driver": + case "Passenger": + returnString = "side window" + break; + case "Rear": + returnString = "rear window" + } + } + return returnString; } export async function isGlassAvailableForCarId(carId){ diff --git a/src/helpers/damage-helper.spec.js b/src/helpers/damage-helper.spec.js index abc8defe2..e0a9f71cc 100644 --- a/src/helpers/damage-helper.spec.js +++ b/src/helpers/damage-helper.spec.js @@ -1,42 +1,47 @@ import {getDamageString, isGlassAvailableForCarId} from "./damage-helper"; -//import baseMixin from "@/mixins/base-mixin.js"; +import baseMixin from "@/mixins/base-mixin.js"; jest.mock("@/store", () => ({ getters: {damage: { glassToReplace: [{location: "Windshield", name: "windshield"}] } } - })); +})); describe("damage-helper.js", () => { it("Should return damage getter info", () => { const damage = getDamageString(); - expect(damage).toEqual("Windshield") + expect(damage).toEqual("windshield") }); }); - // describe("damage-helper.js", () => { - // it("Should return false if no mismatches between each array", async () => { - // const updatedOptions = { - // data: { - // windshieldOptions: {availableReplacementOptions: ["windshield"]} - // } - // } - // baseMixin.methods.dispatchNonBlockingStoreAction = jest.fn().mockImplementation(()=> { - // return updatedOptions; - // }); - // const misMatch = await isGlassAvailableForCarId(); - // expect(misMatch).toEqual(false); - // }); - // }); + describe("damage-helper.js", () => { + it("Should return true if no mismatches between each array exist", async () => { + const updatedOptions = { + data: { + windshieldOptions: {availableReplacementOptions: ["windshield"]} + } + } + baseMixin.methods.dispatchNonBlockingStoreAction = jest.fn().mockImplementation(()=> { + return updatedOptions; + }); + const misMatch = await isGlassAvailableForCarId(); + expect(misMatch).toEqual(true); + }); + }); + + describe("damage-helper.js", () => { + it("Should return false if any mismatches between each array exist", async () => { + const updatedOptions = { + data: { + windshieldOptions: {availableReplacementOptions: ["Crack"]} + } + } + baseMixin.methods.dispatchNonBlockingStoreAction = jest.fn().mockImplementation(()=> { + return updatedOptions; + }); + const misMatch = await isGlassAvailableForCarId(); + expect(misMatch).toEqual(false); + }); + }); - // describe("damage-helper.js", () => { - // it("Should return true if there are any mismatches between arrays", () => { - // const newOptions = { - // windshieldOptions: {availableReplacementOptions: ["window"]} - // } - // const currentOptions = [{location: "Windshield", name: "windshield"}]; - // const misMatch = compareGlassOptions(newOptions, currentOptions); - // expect(misMatch).toEqual(true); - // }); - // }); \ No newline at end of file diff --git a/src/layouts/license-plate-lookup/license-plate-lookup.vue b/src/layouts/license-plate-lookup/license-plate-lookup.vue index f9f0cb41c..da227d794 100644 --- a/src/layouts/license-plate-lookup/license-plate-lookup.vue +++ b/src/layouts/license-plate-lookup/license-plate-lookup.vue @@ -128,22 +128,22 @@ export default { }; }, computed: { - MatchedDifferentVehicleAlertHeader(){ + MatchedDifferentVehicleAlertHeader() { let text = this.getCmsContent("MatchedDifferentVehicleAlertWidget", "HeadlineText").replaceAll("{custom:damage}", getDamageString()); return text; }, - MatchedDifferentVehicleAlertBody(){ + MatchedDifferentVehicleAlertBody() { let text = this.getCmsContent("MatchedDifferentVehicleAlertWidget", "BodyText").replaceAll("{custom:damage}", getDamageString()).replaceAll("{custom:plateLookupYear}", this.customAlertData?.vehicleInfo?.year).replaceAll("{custom:plateLookupMake}", this.customAlertData?.vehicleInfo?.make).replaceAll("{custom:plateLookupModel}", this.customAlertData?.vehicleInfo?.model); return text; }, - NoServiceZipHeader(){ + NoServiceZipHeader() { let text = this.getCmsContent("NoServiceZipWidget", "HeadlineText").replaceAll("{custom:zip}", this.registrationZip); return text; }, - NoServiceZipBody(){ + NoServiceZipBody() { return this.getCmsContent("NoServiceZipWidget", "BodyText"); }, }, @@ -158,16 +158,16 @@ export default { store.commit(storeMutations.UPDATE_REGISTRATION_LAST_NAME, null); store.dispatch(storeActions.RESET_PARTS_STATE_AND_DEPENDENCIES); }, - getLicensePlateFromStore(){ + getLicensePlateFromStore() { return store.getters.vehicle.registration.licensePlate }, - getRegistrationZipFromStore(){ + getRegistrationZipFromStore() { return store.getters.vehicle.registration.zipCode }, - getEmailFromStore(){ + getEmailFromStore() { return store.getters.order.customer.emailAddress }, - getServiceZipFromStore(){ + getServiceZipFromStore() { return store.getters.order.serviceLocation.zip }, backButtonAction() { @@ -202,23 +202,13 @@ export default { return; } - this.updateCustomerInfo(vinLookup.data.vin, vinLookup.data.vehicle, zipValidation.data.state); + this.updateStoreInfo(vinLookup.data.vin, vinLookup.data.vehicle, zipValidation.data.state); - const partsData = await baseMixin.methods.dispatchNonBlockingStoreAction( - this.storeActions.GET_PARTS_OR_QUESTIONS, - { - carId: vinLookup.data.vehicle.carId, - glassArray: this.isCarIdDifferent && !this.isSelectedGlassAvailableForVehicle ? [] : store.getters.damage.glassToReplace, - zipCode: this.serviceZip ? this.serviceZip : this.registrationZip, - vin: vinLookup.data.vin - }, - false - ); - this.navigateForward(partsData); + this.navigateForward(); }, - navigateForward(partsData){ + navigateForward() { if(this.isCarIdDifferent && !this.isSelectedGlassAvailableForVehicle){ - this.$router.navigateAfterSave(this.navigationScenarios.CLICKED_FORWARD, this.$route, {}, { displayVehicleChangeAlert: true }, partsData.data); + this.$router.navigateAfterSave(this.navigationScenarios.CLICKED_FORWARD, this.$route, {}, { displayVehicleChangeAlert: true }, {}); return; } else { navigateAfterSaveToHeritageFunnel(this.$route); @@ -237,7 +227,7 @@ export default { { licensePlate: plate, licenseState: state } ); }, - updateCustomerInfo(vin, vehicleInfo, registrationState) { + updateStoreInfo(vin, vehicleInfo, registrationState) { if(this.isCarIdDifferent && !this.isSelectedGlassAvailableForVehicle){ store.dispatch(storeActions.RESET_DAMAGE_STATE_AND_DEPENDENCIES); } @@ -262,10 +252,10 @@ export default { licensePlate() { this.$refs.funnelFooter.updateButtonText(this.getCmsContent("FunnelFooterWidget", "ForwardButtonText")); }, - registrationZip(){ + registrationZip() { this.$refs.funnelFooter.updateButtonText(this.getCmsContent("FunnelFooterWidget", "ForwardButtonText")); }, - serviceZip(){ + serviceZip() { this.$refs.funnelFooter.updateButtonText(this.getCmsContent("FunnelFooterWidget", "ForwardButtonText")); } }, From 5e0e631180f12d55ba21daee339d73e9284ffc9c Mon Sep 17 00:00:00 2001 From: Max Date: Tue, 3 May 2022 10:49:06 -0400 Subject: [PATCH 2/5] Unit tests --- jest.config.js | 1 - src/helpers/damage-helper.spec.js | 79 +++++++++-- .../license-plate-lookup.spec.js | 129 ++++++++++++++---- 3 files changed, 169 insertions(+), 40 deletions(-) diff --git a/jest.config.js b/jest.config.js index dc59735c2..55eb5be74 100644 --- a/jest.config.js +++ b/jest.config.js @@ -14,7 +14,6 @@ module.exports = { "!src/layouts/component-test/component-test.vue", "!src/layouts/form-test/form-test.vue", "!src/layouts/vin-lookup/vin-lookup.vue", - "!src/layouts/license-plate-lookup/license-plate-lookup.vue", "!src/layouts/vehicle-damage/windshield-damage-type-question/windshield-damage-type-question.vue", "!src/layouts/vehicle-damage/windshield-options/windshield-options.vue", "!src/layouts/part-questions/**/*.vue", diff --git a/src/helpers/damage-helper.spec.js b/src/helpers/damage-helper.spec.js index e0a9f71cc..68379ae1a 100644 --- a/src/helpers/damage-helper.spec.js +++ b/src/helpers/damage-helper.spec.js @@ -1,47 +1,100 @@ import {getDamageString, isGlassAvailableForCarId} from "./damage-helper"; import baseMixin from "@/mixins/base-mixin.js"; - -jest.mock("@/store", () => ({ - getters: {damage: { - glassToReplace: [{location: "Windshield", name: "windshield"}] - } - } -})); +import store from "@/store"; describe("damage-helper.js", () => { - it("Should return damage getter info", () => { + it("Should return match when multiple selected damage options are in the store", () => { + + // Arrange / Act + store.getters.damage.glassToReplace = [{location: "Windshield", name: "windshield"}, {location: "Passenger", name: "sideWindow"}]; + const damage = getDamageString(); - expect(damage).toEqual("windshield") + + // Assert + expect(damage).toEqual("match"); + }); + }); + + describe("damage-helper.js", () => { + it("Should return windshield when Windshield is the only selected damage option in the store", () => { + + // Arrange / Act + store.getters.damage.glassToReplace = [{location: "Windshield", name: "windshield"}]; + + const damage = getDamageString(); + + // Assert + expect(damage).toEqual("windshield"); + }); + }); + + describe("damage-helper.js", () => { + it("Should return side window when Driver or Passenger is the only selected damage option in the store", () => { + + // Arrange / Act + store.getters.damage.glassToReplace = [{location: "Passenger", name: "sideWindow"}]; + + const damage = getDamageString(); + + // Assert + expect(damage).toEqual("side window"); + }); + }); + + describe("damage-helper.js", () => { + it("Should return rear window when Rear is the only selected damage option in the store", () => { + + // Arrange / Act + store.getters.damage.glassToReplace = [{location: "Rear", name: "rear"}]; + + const damage = getDamageString(); + + // Assert + expect(damage).toEqual("rear window"); }); }); describe("damage-helper.js", () => { it("Should return true if no mismatches between each array exist", async () => { + // Arrange + store.getters.damage.glassToReplace = [{location: "Windshield", name: "windshield"}]; + const updatedOptions = { data: { windshieldOptions: {availableReplacementOptions: ["windshield"]} } } + + // Act baseMixin.methods.dispatchNonBlockingStoreAction = jest.fn().mockImplementation(()=> { return updatedOptions; }); - const misMatch = await isGlassAvailableForCarId(); - expect(misMatch).toEqual(true); + const isGlassAvailable = await isGlassAvailableForCarId(); + + // Assert + expect(isGlassAvailable).toEqual(true); }); }); describe("damage-helper.js", () => { it("Should return false if any mismatches between each array exist", async () => { + // Arrange + store.getters.damage.glassToReplace = [{location: "Windshield", name: "windshield"}]; + const updatedOptions = { data: { windshieldOptions: {availableReplacementOptions: ["Crack"]} } } + + // Act baseMixin.methods.dispatchNonBlockingStoreAction = jest.fn().mockImplementation(()=> { return updatedOptions; }); - const misMatch = await isGlassAvailableForCarId(); - expect(misMatch).toEqual(false); + const isGlassAvailable = await isGlassAvailableForCarId(); + + // Assert + expect(isGlassAvailable).toEqual(false); }); }); 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 63459a97f..ef169c813 100644 --- a/src/layouts/license-plate-lookup/license-plate-lookup.spec.js +++ b/src/layouts/license-plate-lookup/license-plate-lookup.spec.js @@ -1,5 +1,5 @@ // Components -import vehicleDamage from "@/layouts/license-plate-lookup/license-plate-lookup.vue"; +import licensePlateLookup from "@/layouts/license-plate-lookup/license-plate-lookup.vue"; // Supporting Files import { settleAllPromises } from "@/helpers/layout-helper.js"; @@ -29,25 +29,15 @@ jest.mock("@/store", () => ({ dispatch: jest.fn(), getters: { order: { - customer: { - emailAddress: "test@test.com" - }, - serviceLocation: { - zip: "43443" - } + customer: { emailAddress: "test@test.com"}, + serviceLocation: {zip: "11111"}, }, vehicle: { - carId: "C00000000", - image: "test.jpg", - payment: { - insuranceCoverage: { - isVerified: false - } - }, registration: { - licensePlate: "HWV4445", - zipCode: "43224" - } + licensePlate: "TESTPLATE", + zipCode: "12345", + carId: "TESTID" + }, }, eventBusItem: jest.fn(), damage: { @@ -62,7 +52,7 @@ describe("license-plate-lookup.vue", () => { const { wrapper } = setupMocks({}); //Act - vehicleDamage.beforeRouteEnter.call( + licensePlateLookup.beforeRouteEnter.call( wrapper.vm, { query: { fmgPage: "license-plate-lookup" } }, undefined, @@ -84,7 +74,7 @@ describe("license-plate-lookup.vue", () => { const { wrapper } = setupMocks({}); //Act - vehicleDamage.beforeRouteEnter.call( + licensePlateLookup.beforeRouteEnter.call( wrapper.vm, { query: { fmgPage: "license-plate-lookup" } }, undefined, @@ -99,6 +89,99 @@ describe("license-plate-lookup.vue", () => { }); }); +describe("license-plate-lookup.vue", () => { + test("getLicensePlateFromStore returns store license plate", async () => { + + // Arrange + const { wrapper } = setupMocks({}); + + // ACT + const licensePlate = wrapper.vm.getLicensePlateFromStore(); + + // Assert + expect(licensePlate).toEqual("TESTPLATE"); + }); +}); + +describe("license-plate-lookup.vue", () => { + test("getRegistrationZipFromStore returns store registration zip", async () => { + + // Arrange + const { wrapper } = setupMocks({}); + + // ACT + const registrationZip = wrapper.vm.getRegistrationZipFromStore(); + + // Assert + expect(registrationZip).toEqual("12345"); + }); +}); + +describe("license-plate-lookup.vue", () => { + test("getEmailFromStore returns store customer email", async () => { + + // Arrange + const { wrapper } = setupMocks({}); + + // ACT + const customerEmail = wrapper.vm.getEmailFromStore(); + + // Assert + expect(customerEmail).toEqual("test@test.com"); + }); +}); + +describe("license-plate-lookup.vue", () => { + test("getServiceZipFromStore returns store service zip", async () => { + + // Arrange + const { wrapper } = setupMocks({}); + + // ACT + const serviceZip = wrapper.vm.getServiceZipFromStore(); + + // Assert + expect(serviceZip).toEqual("11111"); + }); +}); + +describe("license-plate-lookup.vue", () => { + test("Navigate forward should be called when data entered matches store data", async () => { + + // Arrange + const { wrapper } = setupMocks({ + pageHeaderWidgetHeaderText: "", + mountOptionsMockData: { + router: { navigateAfterSave: jest.fn(), }, + }, + }); + + wrapper.vm.licensePlate = "TESTPLATE"; + wrapper.vm.registrationZip = "12345"; + wrapper.vm.validateZip = jest.fn().mockImplementation(() => { + return {data: {isServiceable: true}}; + }); + wrapper.vm.lookupVin = jest.fn().mockImplementation(() => { + return {data: {vehicle: {carId: 'TESTID'}}, catch: () => "test"}; + }); + + //Act + licensePlateLookup.beforeRouteEnter.call( + wrapper.vm, + { query: { fmgPage: "license-plate-lookup" } }, + undefined, + (c) => c(wrapper.vm) + ); + + await wrapper.vm.forwardButtonAction(); + + //Assert + expect(wrapper.vm.$router.navigateAfterSave).toHaveBeenCalled(); + expect(wrapper.vm.isCarIdDifferent).toEqual(false); + }); +}); + + function setupMocks({ pageHeaderWidgetHeaderText = {}, @@ -106,12 +189,6 @@ function setupMocks({ router: { navigate: jest.fn(), }, - store: { - getters: { - vehicle: {}, - payment: { insuranceCoverage: { isVerified: false } }, - }, - }, }, }) { //Mock api responses @@ -139,7 +216,7 @@ function setupMocks({ const mountOptions = getMountOptions(mountOptionsMockData); mountOptions['attachTo'] = document.body; // append wrapper to document.body to test DOM methods - const wrapper = shallowMount(vehicleDamage, mountOptions); + const wrapper = shallowMount(licensePlateLookup, mountOptions); wrapper.vm.setCmsContent = baseMixin.methods.setCmsContent; From e640ff292c8b1507a1019764a75fe059c3ee7417 Mon Sep 17 00:00:00 2001 From: Max Date: Tue, 3 May 2022 13:14:26 -0400 Subject: [PATCH 3/5] Fixing routing table and creating unit tests --- .../license-plate-lookup.spec.js | 2 +- src/router/router-constants/routing-table.js | 12 ------------ 2 files changed, 1 insertion(+), 13 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 5a8fa5fab..d7f51de66 100644 --- a/src/layouts/license-plate-lookup/license-plate-lookup.spec.js +++ b/src/layouts/license-plate-lookup/license-plate-lookup.spec.js @@ -33,10 +33,10 @@ jest.mock("@/store", () => ({ serviceLocation: {zip: "11111"}, }, vehicle: { + carId: "TESTID", registration: { licensePlate: "TESTPLATE", zipCode: "12345", - carId: "TESTID" }, }, eventBusItem: jest.fn(), diff --git a/src/router/router-constants/routing-table.js b/src/router/router-constants/routing-table.js index 3290c43eb..83d2c57de 100644 --- a/src/router/router-constants/routing-table.js +++ b/src/router/router-constants/routing-table.js @@ -137,18 +137,6 @@ const routingTable = [ scenario: navigationScenarios.CLICKED_BACK, destinationFmgPageValue: fmgPageValues.ESTIMATE, }, - { - scenario: navigationScenarios.CONTINUING_WITH_PARTS_QUESTION, - destinationFmgPageValue: fmgPageValues.PART_QUESTIONS, - }, - { - scenario: navigationScenarios.CONTINUING_WITH_MULTIPLE_PARTS, - destinationFmgPageValue: fmgPageValues.VEHICLE_PARTS, - }, - { - scenario: navigationScenarios.CONTINUING_WITH_SINGLE_PART, - destinationFmgPageValue: fmgPageValues.REVEAL, - }, { scenario: navigationScenarios.CLICKED_FORWARD, destinationFmgPageValue: fmgPageValues.VEHICLE_DAMAGE, From 842a444e5c0a4545147fe26973f658d445f6a9fd Mon Sep 17 00:00:00 2001 From: Max Date: Wed, 4 May 2022 16:28:20 -0400 Subject: [PATCH 4/5] Fixing lpl page and nav scenario --- .../navigation-helper.spec.js | 4 +- .../license-plate-lookup.vue | 219 ++++++++++-------- 2 files changed, 118 insertions(+), 105 deletions(-) diff --git a/src/helpers/heritage-integration/navigation-helper.spec.js b/src/helpers/heritage-integration/navigation-helper.spec.js index fd06920c2..17561ba52 100644 --- a/src/helpers/heritage-integration/navigation-helper.spec.js +++ b/src/helpers/heritage-integration/navigation-helper.spec.js @@ -175,7 +175,7 @@ describe("getPageToRouteExistingOrderTo", () => { expect(result).toBe('vehicle-damage'); }); - test("getPageToRouteExistingOrderTo, should return vin-lookup", async () => { + test("getPageToRouteExistingOrderTo, should return license-plate-lookup", async () => { // Arrange const toRoute = { query: {} @@ -228,7 +228,7 @@ describe("getPageToRouteExistingOrderTo", () => { const result = await getPageToRouteExistingOrderTo(toRoute, false); //Assert - expect(result).toBe('vin-lookup'); + expect(result).toBe('license-plate-lookup'); }); test("getPageToRouteExistingOrderTo, should return estimate", async () => { diff --git a/src/layouts/license-plate-lookup/license-plate-lookup.vue b/src/layouts/license-plate-lookup/license-plate-lookup.vue index ff1a2b10d..f63aea287 100644 --- a/src/layouts/license-plate-lookup/license-plate-lookup.vue +++ b/src/layouts/license-plate-lookup/license-plate-lookup.vue @@ -1,46 +1,35 @@ From 47380eda80047d1615938edb8a86949ea2c08c61 Mon Sep 17 00:00:00 2001 From: Max Date: Thu, 5 May 2022 12:11:31 -0400 Subject: [PATCH 5/5] Fixing unit tests --- src/helpers/damage-helper.js | 2 +- .../license-plate-lookup.spec.js | 40 ++++++++++--------- 2 files changed, 22 insertions(+), 20 deletions(-) diff --git a/src/helpers/damage-helper.js b/src/helpers/damage-helper.js index 25fcecc57..443712991 100644 --- a/src/helpers/damage-helper.js +++ b/src/helpers/damage-helper.js @@ -8,7 +8,7 @@ export function getDamageString() { if(damageLocations.length > 1){ returnString = "match" } else { - switch(damageLocations[0].location) { + switch(damageLocations[0]?.location) { case "Windshield": returnString = "windshield" break; 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 074e2dc75..609ddcf2e 100644 --- a/src/layouts/license-plate-lookup/license-plate-lookup.spec.js +++ b/src/layouts/license-plate-lookup/license-plate-lookup.spec.js @@ -151,6 +151,9 @@ describe("license-plate-lookup.vue", () => { wrapper.vm.validateZip = jest.fn().mockImplementation(() => { return {data: {isServiceable: true}}; }); + wrapper.vm.getCmsContent = jest.fn().mockImplementation(() => { + return ''; + }); const vinLookup = {data: {vehicle: {carId: "TESTID"}}} wrapper.vm.lookupVin = jest.fn().mockImplementation(() => { return {catch: () => vinLookup}; @@ -182,6 +185,9 @@ describe("license-plate-lookup.vue", () => { wrapper.vm.validateZip = jest.fn().mockImplementation(() => { return {data: {isServiceable: false}}; }); + wrapper.vm.getCmsContent = jest.fn().mockImplementation(() => { + return ''; + }); wrapper.vm.$refs.funnelFooter.removeLoader = jest.fn(); //Act licensePlateLookup.beforeRouteEnter.call( @@ -207,6 +213,9 @@ describe("license-plate-lookup.vue", () => { wrapper.vm.validateZip = jest.fn().mockImplementation(() => { return {data: {isServiceable: true}}; }); + wrapper.vm.getCmsContent = jest.fn().mockImplementation(() => { + return ''; + }); const vinLookup = {data: {vehicle: {carId: "TESTID1"}}} wrapper.vm.lookupVin = jest.fn().mockImplementation(() => { return {catch: () => vinLookup}; @@ -238,6 +247,9 @@ describe("license-plate-lookup.vue", () => { wrapper.vm.validateZip = jest.fn().mockImplementation(() => { return {data: {isServiceable: true}}; }); + wrapper.vm.getCmsContent = jest.fn().mockImplementation(() => { + return ''; + }); const vinLookup = {data: {vehicle: {carId: "TESTID1"}}} wrapper.vm.lookupVin = jest.fn().mockImplementation(() => { return {catch: () => vinLookup}; @@ -321,15 +333,12 @@ describe("license-plate-lookup.vue", () => { //Act wrapper.vm.isCarIdDifferent = true; wrapper.vm.isSelectedGlassAvailableForVehicle = false; + wrapper.vm.getCmsContent = jest.fn().mockImplementation(() => { + return ''; + }); store.commit = jest.fn(); store.dispatch = jest.fn(); - licensePlateLookup.beforeRouteEnter.call( - wrapper.vm, - { query: { fmgPage: "license-plate-lookup" } }, - undefined, - (c) => c(wrapper.vm) - ); const vehicleInfo = {year: "2020", make: "honda", model: "civic", style: "2 door", carId: "TestId", category: "testCat", imageUrl: "image.jpg", imageVifNumber: "123", imageColor: "blue"} await wrapper.vm.updateCustomerInfo('vin', vehicleInfo, 'registrationState'); @@ -348,14 +357,11 @@ describe("license-plate-lookup.vue", () => { wrapper.vm.isCarIdDifferent = true; wrapper.vm.isSelectedGlassAvailableForVehicle = false; wrapper.vm.$router.navigateAfterSave = jest.fn(); + wrapper.vm.getCmsContent = jest.fn().mockImplementation(() => { + return ''; + }); store.dispatch = jest.fn(); - licensePlateLookup.beforeRouteEnter.call( - wrapper.vm, - { query: { fmgPage: "license-plate-lookup" } }, - undefined, - (c) => c(wrapper.vm) - ); await wrapper.vm.navigateForward(); //Assert @@ -372,16 +378,12 @@ describe("license-plate-lookup.vue", () => { //Act wrapper.vm.isCarIdDifferent = false; wrapper.vm.$router.navigateAfterSaveToHeritageFunnel = jest.fn(); + wrapper.vm.getCmsContent = jest.fn().mockImplementation(() => { + return ''; + }); - licensePlateLookup.beforeRouteEnter.call( - wrapper.vm, - { query: { fmgPage: "license-plate-lookup" } }, - undefined, - (c) => c(wrapper.vm) - ); await wrapper.vm.navigateForward(); - //Assert expect(wrapper.vm.$router.navigateAfterSaveToHeritageFunnel).toHaveBeenCalled(); });