From ad2a1001e6a272f143e53fb5e14a198522d8ea3a Mon Sep 17 00:00:00 2001 From: Chloe Herd Date: Wed, 11 Oct 2023 13:22:49 -0400 Subject: [PATCH] Fix unit tests --- .../payment-method/payment-method.spec.js | 47 ++++++++++++++----- src/store/index.js | 2 +- src/store/store.spec.js | 44 +++++++++++++++++ 3 files changed, 79 insertions(+), 14 deletions(-) diff --git a/src/layouts/payment-method/payment-method.spec.js b/src/layouts/payment-method/payment-method.spec.js index 130a2def4..803f10829 100644 --- a/src/layouts/payment-method/payment-method.spec.js +++ b/src/layouts/payment-method/payment-method.spec.js @@ -5,6 +5,7 @@ import customerDetails from "@/layouts/payment-method/payment-method.vue"; import { shallowMount } from "@vue/test-utils"; import { getMountOptions } from "@/helpers/unit-test-helper.js"; import store from "@/store"; +import { experimentSettings } from "@/constants/experiments"; // Mock our module for promises. jest.mock("@/helpers/layout-helper.js", () => ({ @@ -15,6 +16,8 @@ jest.mock("@/helpers/heritage-integration/order-helper.js", () => ({ submitWorkOrder: jest.fn(), })); +let piaDisabledFlag = false; + describe("payment-method.vue", () => { describe("navigation", () => { test("if the back button is clicked, navigate back", async () => { @@ -52,19 +55,37 @@ function setupMocks() { }, }; - const wrapper = shallowMount( - customerDetails, - getMountOptions({ - router: { - navigate: jest.fn(), - navigateWithSaving: jest.fn(), - navigateWithoutSaving: jest.fn(), - }, - store: { - getters: store.getters, - }, - }) - ); + const mountOptions = getMountOptions({ + router: { + navigate: jest.fn(), + navigateWithSaving: jest.fn(), + navigateWithoutSaving: jest.fn(), + }, + store: { + getters: store.getters, + }, + }); + + const mockMixin = { + methods: { + getSettingValue: jest.fn((settingName) => { + if (!piaDisabledFlag) { + if (settingName === experimentSettings.PIA_EXPERIENCE) { + return "PIA Optional"; + } + if (settingName === experimentSettings.SUBMIT_ORDER_ENABLE_PIA) { + return "true"; + } + } + + return "false"; + }), + }, + }; + + mountOptions.global.mixins = [mockMixin]; + + const wrapper = shallowMount(customerDetails, mountOptions); return { wrapper }; } diff --git a/src/store/index.js b/src/store/index.js index f16b71f11..2c2eb8492 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -599,7 +599,7 @@ export const getters = { funnelServiceState: state.order.serviceLocation.state, funnelServiceZipCode: state.order.serviceLocation.zipCode, funnelServiceZipCodeCtu: state.order.serviceLocation.zipCodeCtu, - funnelProviderNumber: state.order.serviceLocation.provider.ProviderNumber, + funnelProviderNumber: state.order.serviceLocation.provider.providerNumber, funnelParentAccountNumber: state.order.payment.parentAccountNumber, funnelReferralType: state.order.payment.isInsurance ? "INSURANCE" : "CASH QUOTE", funnelIsCoverageVerified: state.order.payment.insuranceCoverage.isVerified, diff --git a/src/store/store.spec.js b/src/store/store.spec.js index d55862e3e..9ae8065ae 100644 --- a/src/store/store.spec.js +++ b/src/store/store.spec.js @@ -2934,6 +2934,9 @@ describe("Getters", () => { funnelSupportingItems: null, funnelVaps: null, funnelGlassToReplace: null, + funnelProviderNumber: "1", + funnelReferralType: "CASH QUOTE", + funnelServiceZipCodeCtu: "11111", }; //Act @@ -2948,12 +2951,17 @@ describe("Getters", () => { city: mockStateValues.funnelServiceCity, state: mockStateValues.funnelServiceState, zipCode: mockStateValues.funnelServiceZipCode, + zipCodeCtu: mockStateValues.funnelServiceZipCodeCtu, + provider: { + providerNumber: mockStateValues.funnelProviderNumber, + }, }); mutations.updateParentAcctNumber(storeState, mockStateValues.funnelParentAccountNumber); mutations.updateInsuranceVerifiedStatus( storeState, mockStateValues.funnelIsCoverageVerified ); + mutations.updateIsInsurance(storeState, false); mutations.updateGlassParts(storeState, mockStateValues.funnelGlassParts); mutations.updateSupportingItems(storeState, mockStateValues.funnelSupportingItems); mutations.updateVaps(storeState, mockStateValues.funnelVaps); @@ -2981,6 +2989,9 @@ describe("Getters", () => { funnelSelectedBackGlass: false, funnelSelectedDriverSideGlass: false, funnelSelectedPassengerSideGlass: false, + funnelProviderNumber: mockStateValues.funnelProviderNumber, + funnelReferralType: mockStateValues.funnelReferralType, + funnelServiceZipCodeCtu: mockStateValues.funnelServiceZipCodeCtu, }); }); @@ -3003,6 +3014,9 @@ describe("Getters", () => { funnelGlassParts: [], funnelOtherParts: [], funnelGlassToReplace: [], + funnelProviderNumber: "1", + funnelReferralType: "CASH QUOTE", + funnelServiceZipCodeCtu: "11111", }; //Act @@ -3017,12 +3031,17 @@ describe("Getters", () => { city: mockStateValues.funnelServiceCity, state: mockStateValues.funnelServiceState, zipCode: mockStateValues.funnelServiceZipCode, + zipCodeCtu: mockStateValues.funnelServiceZipCodeCtu, + provider: { + providerNumber: mockStateValues.funnelProviderNumber, + }, }); mutations.updateParentAcctNumber(storeState, mockStateValues.funnelParentAccountNumber); mutations.updateInsuranceVerifiedStatus( storeState, mockStateValues.funnelIsCoverageVerified ); + mutations.updateIsInsurance(storeState, false); mutations.updateGlassParts(storeState, mockStateValues.funnelGlassParts); mutations.updateSupportingItems(storeState, mockStateValues.funnelSupportingItems); mutations.updateVaps(storeState, mockStateValues.funnelVaps); @@ -3050,6 +3069,9 @@ describe("Getters", () => { funnelSelectedBackGlass: false, funnelSelectedDriverSideGlass: false, funnelSelectedPassengerSideGlass: false, + funnelProviderNumber: mockStateValues.funnelProviderNumber, + funnelReferralType: mockStateValues.funnelReferralType, + funnelServiceZipCodeCtu: mockStateValues.funnelServiceZipCodeCtu, }); }); @@ -3085,6 +3107,9 @@ describe("Getters", () => { glassName: "Single", }, ], + funnelProviderNumber: "1", + funnelReferralType: "CASH QUOTE", + funnelServiceZipCodeCtu: "11111", }; //Act @@ -3099,9 +3124,14 @@ describe("Getters", () => { city: mockStateValues.serviceCity, state: mockStateValues.serviceState, zipCode: mockStateValues.serviceZipCode, + zipCodeCtu: mockStateValues.funnelServiceZipCodeCtu, + provider: { + providerNumber: mockStateValues.funnelProviderNumber, + }, }); mutations.updateParentAcctNumber(storeState, mockStateValues.parentAccountNumber); mutations.updateInsuranceVerifiedStatus(storeState, mockStateValues.isCoverageVerified); + mutations.updateIsInsurance(storeState, false); mutations.updateGlassParts(storeState, mockStateValues.glassParts); mutations.updateSupportingItems(storeState, mockStateValues.funnelSupportingItems); mutations.updateVaps(storeState, mockStateValues.funnelVaps); @@ -3129,6 +3159,9 @@ describe("Getters", () => { funnelSelectedBackGlass: false, funnelSelectedDriverSideGlass: false, funnelSelectedPassengerSideGlass: false, + funnelProviderNumber: mockStateValues.funnelProviderNumber, + funnelReferralType: mockStateValues.funnelReferralType, + funnelServiceZipCodeCtu: mockStateValues.funnelServiceZipCodeCtu, }); }); @@ -3190,6 +3223,9 @@ describe("Getters", () => { glassName: "Quarter", }, ], + funnelProviderNumber: "1", + funnelReferralType: "CASH QUOTE", + funnelServiceZipCodeCtu: "11111", }; //Act @@ -3204,9 +3240,14 @@ describe("Getters", () => { city: mockStateValues.serviceCity, state: mockStateValues.serviceState, zipCode: mockStateValues.serviceZipCode, + zipCodeCtu: mockStateValues.funnelServiceZipCodeCtu, + provider: { + providerNumber: mockStateValues.funnelProviderNumber, + }, }); mutations.updateParentAcctNumber(storeState, mockStateValues.parentAccountNumber); mutations.updateInsuranceVerifiedStatus(storeState, mockStateValues.isCoverageVerified); + mutations.updateIsInsurance(storeState, false); mutations.updateGlassParts(storeState, mockStateValues.glassParts); mutations.updateSupportingItems(storeState, mockStateValues.funnelSupportingItems); mutations.updateVaps(storeState, mockStateValues.funnelVaps); @@ -3234,6 +3275,9 @@ describe("Getters", () => { funnelSelectedBackGlass: true, funnelSelectedDriverSideGlass: true, funnelSelectedPassengerSideGlass: true, + funnelProviderNumber: mockStateValues.funnelProviderNumber, + funnelReferralType: mockStateValues.funnelReferralType, + funnelServiceZipCodeCtu: mockStateValues.funnelServiceZipCodeCtu, }); }); });