diff --git a/src/layouts/welcome-page/welcome-page.spec.js b/src/layouts/welcome-page/welcome-page.spec.js index 50a6ac55..ae934705 100644 --- a/src/layouts/welcome-page/welcome-page.spec.js +++ b/src/layouts/welcome-page/welcome-page.spec.js @@ -25,9 +25,7 @@ jest.mock("@/helpers/cms-content-helper", () => ({ describe("welcome-page.vue", () => { test("Should render welcomePage sub-components (policyNumber, policyZipCode, dateOfLoss, damageCause etc.)", async () => { // Arrange - - const { wrapper } = setupMocks({}); - + const { wrapper } = setupMocks({}); // Act const policyNumber = wrapper.findComponent({ ref: "policyNumber" }); @@ -39,7 +37,6 @@ describe("welcome-page.vue", () => { const phoneNumber = wrapper.findComponent({ ref: "phoneNumber" }); const email = wrapper.findComponent({ ref: "email" }); - // Assert expect(policyNumber.exists()).toBe(true); expect(dateOfLoss.exists()).toBe(true); @@ -64,12 +61,14 @@ describe("navigation", () => { } ]; - const { wrapper } = setupMocks({}); + const { wrapper } = setupMocks({ + policies: [{}] + }); await wrapper.setData({ - isCoverageEnabled : true, - vehiclesCount:2, - vehiclesFound:mockvehicles + isCoverageEnabled: true, + vehiclesCount: 2, + vehiclesFound: mockvehicles, }); useMainStore().order.policy.policyNumber = "p_0001"; @@ -77,7 +76,6 @@ describe("navigation", () => { useMainStore().order.accountNumber = "00000"; // Act - await wrapper.vm.forwardButtonAction(); // Assert @@ -91,12 +89,14 @@ describe("navigation", () => { }); test("if policy is found, but no vehicles, navigate to vehicle-selection page", async () => { // Arrange - const { wrapper } = setupMocks({}); + const { wrapper } = setupMocks({ + policies: [{}] + }); await wrapper.setData({ isCoverageEnabled: true, vehiclesCount: 0, - vehiclesFound: null + vehiclesFound: null, }); useMainStore().order.policy.policyNumber = "p_0001"; @@ -115,21 +115,25 @@ describe("navigation", () => { }); test("if policy is not found, navigate to policy-holder-details page", async () => { // Arrange - const { wrapper } = setupMocks({}); + const { wrapper } = setupMocks({ + policies: undefined + }); await wrapper.setData({ isCoverageEnabled : true, }); - useMainStore().order.policy.policyNumber = null; + useMainStore().order.policy.policyNumber = "p_0001"; + useMainStore().order.policy.dateOfLoss = "2022-01-28"; + useMainStore().order.accountNumber = "00000"; // Act - await wrapper.vm.forwardButtonAction(); // Assert expect(wrapper.vm.$router.navigate).toHaveBeenCalledWith( navigationScenarios.CLICKED_FORWARD_WITH_NO_POLICY, + undefined ); }); }); @@ -138,17 +142,29 @@ function setupMocks({ pageHeaderWidgetHeaderText = {}, pageFooterWidgetCmsContent = {}, mountOptionsMockData = {}, + policies = [], + lookupPolicyResponse }) { - const policies = [{ - vehicles:[ - { - vin: "TEST_VIN", + useMainStore().getCoveragePolicyInfo = jest.fn().mockImplementation(() => { + return Promise.resolve({ + data: lookupPolicyResponse + ? lookupPolicyResponse + : { + policies: [ + { + vehicles: [ + { + vin: "TEST_VIN" + }, + { + vin: "TEST_VIN2" + } + ] + }, + ], }, - { - vin: "TEST_VIN2", - } - ] - }]; + }) + }) //Mock api responses const apiResponses = { @@ -164,7 +180,7 @@ function setupMocks({ }, SiteFooterWidget: pageFooterWidgetCmsContent, }, - policyLookupResponse:{ + policyLookupResponse: { policies: policies } };