From dd291a980c5f7b930b6d728cf80adbde72516592 Mon Sep 17 00:00:00 2001 From: credelinghuys Date: Thu, 7 May 2026 12:52:02 -0400 Subject: [PATCH] CASH-2563 --- src/constants/bailout-codes.js | 2 +- .../heritage-integration/order-helper.js | 11 +-- .../bailout-success/bailout-success.spec.js | 56 ++++++++++++ .../bailout-success/bailout-success.vue | 4 +- src/layouts/bailout/bailout.spec.js | 20 +++++ src/layouts/bailout/bailout.vue | 87 +++++++++++++++++-- src/router/constants/routing-table.js | 2 +- src/router/methods/navigate.js | 16 ++-- src/store/index.js | 8 +- 9 files changed, 172 insertions(+), 34 deletions(-) create mode 100644 src/layouts/bailout-success/bailout-success.spec.js diff --git a/src/constants/bailout-codes.js b/src/constants/bailout-codes.js index caf265292..af6290363 100644 --- a/src/constants/bailout-codes.js +++ b/src/constants/bailout-codes.js @@ -1,5 +1,5 @@ const bailoutCodes = { - PARTS_NOT_FOUND: "PartsNotFound", + PARTS_NOT_FOUND: 10, }; export { bailoutCodes }; diff --git a/src/helpers/heritage-integration/order-helper.js b/src/helpers/heritage-integration/order-helper.js index b15a0a6e3..613f239f2 100644 --- a/src/helpers/heritage-integration/order-helper.js +++ b/src/helpers/heritage-integration/order-helper.js @@ -57,15 +57,13 @@ export async function saveSession({ shouldAwaitSaveSessionQueue = false, submitAfterSave = false, createUnscheduledStatusWorkOrderForPIA = false, - bailoutCode = null, }) { // Add next save session to end of queue const saveSessionPromise = flushSaveSessionQueue().then(() => { return saveSessionHelper( pageNameToLog, submitAfterSave, - createUnscheduledStatusWorkOrderForPIA, - bailoutCode + createUnscheduledStatusWorkOrderForPIA ); }); @@ -108,12 +106,11 @@ export async function saveQuote({ pageNameToLog }) { return; } -export async function submitBailout({ pageNameToLog, bailoutCode }) { +export async function submitBailout({ pageNameToLog }) { await saveSession({ pageNameToLog: pageNameToLog, shouldAwaitSaveSessionQueue: true, submitAfterSave: false, - bailoutCode: bailoutCode, }); } @@ -158,15 +155,13 @@ async function loadSession( async function saveSessionHelper( pageNameToLog, submitAfterSave = false, - createUnscheduledStatusWorkOrderForPIA = false, - bailoutCode = null + createUnscheduledStatusWorkOrderForPIA = false ) { const savedSessionInfo = await baseMixin.methods.dispatchStoreActionWithLogging( storeActions.SAVE_SESSION, { submitAfterSave: submitAfterSave, createUnscheduledStatusWorkOrderForPIA: createUnscheduledStatusWorkOrderForPIA, - bailoutCode: bailoutCode, }, pageNameToLog ); diff --git a/src/layouts/bailout-success/bailout-success.spec.js b/src/layouts/bailout-success/bailout-success.spec.js new file mode 100644 index 000000000..5d5f73f14 --- /dev/null +++ b/src/layouts/bailout-success/bailout-success.spec.js @@ -0,0 +1,56 @@ +// Components +import bailoutSuccess from "@/layouts/bailout-success/bailout-success.vue"; + +// Supporting Files +import { shallowMount } from "@vue/test-utils"; +import { getMountOptions } from "@/helpers/unit-test-helper.js"; + +// 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("bailout-success.vue", () => { + test("renders funnelHeader component", () => { + const { wrapper } = setupMocks(); + expect(wrapper.findComponent({ name: "funnelHeader" }).exists()).toBe(true); + }); + + test("renders funnelSubHeader component", () => { + const { wrapper } = setupMocks(); + expect(wrapper.findComponent({ name: "funnelSubHeader" }).exists()).toBe(true); + }); + + test("renders Form component", () => { + const { wrapper } = setupMocks(); + expect(wrapper.findComponent({ name: "Form" }).exists()).toBe(true); + }); + + test("renders buttonMain component", () => { + const { wrapper } = setupMocks(); + expect(wrapper.findComponent({ name: "buttonMain" }).exists()).toBe(true); + }); +}); + +function setupMocks() { + const mountOptions = getMountOptions({}); + + //Mock props + const mockMixin = { + methods: { + getCmsContent: jest.fn(), + }, + }; + + mountOptions.mixins = [mockMixin]; + const wrapper = shallowMount(bailoutSuccess, mountOptions); + + wrapper.vm.setCmsContent = jest.fn(); + + return { wrapper }; +} diff --git a/src/layouts/bailout-success/bailout-success.vue b/src/layouts/bailout-success/bailout-success.vue index 73bbadfbb..97f186ca6 100644 --- a/src/layouts/bailout-success/bailout-success.vue +++ b/src/layouts/bailout-success/bailout-success.vue @@ -22,7 +22,7 @@