From 760295e3f9cc2edeb15af38b29a1ab221b26da80 Mon Sep 17 00:00:00 2001 From: Jeremy-Z Date: Mon, 6 Jul 2026 13:09:21 -0400 Subject: [PATCH 1/3] Fixed issue where picking new referral from cookie popup causes duplicate check page to skip. --- src/layouts/welcome-page/welcome-page.vue | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/layouts/welcome-page/welcome-page.vue b/src/layouts/welcome-page/welcome-page.vue index 38b35558..56b6b7f0 100644 --- a/src/layouts/welcome-page/welcome-page.vue +++ b/src/layouts/welcome-page/welcome-page.vue @@ -386,7 +386,9 @@ export default { }, navigateForward() { if ((this.mainStore.applicationUser.duplicateOrders?.length > 0 ?? false) - && !this.answeredContinueModal) { + && !this.mainStore.order.loadedFromCookie) { + // NOTE: Only navigate to duplicate check page if the user has not already loaded an + // existing referral from cookie (continue option from cookie popup) and they have not visited the duplicate check page already. // Duplicate orders found; navigating to duplicate check page and skipping save session. this.$router.navigate( this.navigationScenarios.CLICKED_FORWARD_WITH_DUPLICATES, @@ -498,8 +500,6 @@ export default { }, startNewReferral() { this.mainStore.issConfig.enableContinueFromCookie = false; - // Setting this to true so we skip dupe check since the user already decided not to load the previous referral - this.mainStore.order.loadedFromCookie = true; this.answeredContinueModal = true; this.$refs.continueModal.closeModal(); } From 086b1726acc4c72c1f11c252ef1d23fe444b6bcd Mon Sep 17 00:00:00 2001 From: Jeremy-Z Date: Mon, 6 Jul 2026 13:17:41 -0400 Subject: [PATCH 2/3] Added duplicate page visit check flag. --- src/layouts/welcome-page/welcome-page.vue | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/layouts/welcome-page/welcome-page.vue b/src/layouts/welcome-page/welcome-page.vue index 56b6b7f0..1dd76bc6 100644 --- a/src/layouts/welcome-page/welcome-page.vue +++ b/src/layouts/welcome-page/welcome-page.vue @@ -386,7 +386,8 @@ export default { }, navigateForward() { if ((this.mainStore.applicationUser.duplicateOrders?.length > 0 ?? false) - && !this.mainStore.order.loadedFromCookie) { + && !this.mainStore.order.loadedFromCookie + && !this.mainStore.order.visitedDuplicateCheckPage) { // NOTE: Only navigate to duplicate check page if the user has not already loaded an // existing referral from cookie (continue option from cookie popup) and they have not visited the duplicate check page already. // Duplicate orders found; navigating to duplicate check page and skipping save session. From 283553fbf49feeaba5a128d454df7c98c0e2298c Mon Sep 17 00:00:00 2001 From: Jeremy-Z Date: Mon, 6 Jul 2026 13:23:03 -0400 Subject: [PATCH 3/3] Updated unit tests. --- src/layouts/welcome-page/welcome-page.spec.js | 74 ++++++++++++++++--- 1 file changed, 62 insertions(+), 12 deletions(-) diff --git a/src/layouts/welcome-page/welcome-page.spec.js b/src/layouts/welcome-page/welcome-page.spec.js index 05e35b8a..f18d486e 100644 --- a/src/layouts/welcome-page/welcome-page.spec.js +++ b/src/layouts/welcome-page/welcome-page.spec.js @@ -150,11 +150,13 @@ describe('navigation', () => { }); describe('When zip code check succeeds', () => { - test('if duplicates found, navigate to duplicate check page', async () => { + test('if duplicates found, NOT loaded from cookie, and NOT visited duplicate check page, navigate to duplicate check page', async () => { // Arrange const { wrapper } = setupMocks({}); useMainStore().getDuplicateReferrals = jest.fn().mockImplementation(() => Promise.resolve({})); useMainStore().applicationUser.duplicateOrders = [{ test: 'a' }]; + useMainStore().order.loadedFromCookie = false; + useMainStore().order.visitedDuplicateCheckPage = false; wrapper.vm.mainStore.validateZip = jest.fn().mockImplementation(() => Promise.resolve({ data: { isValid: true @@ -173,6 +175,58 @@ describe('navigation', () => { { [routerParams.SKIP_SAVE_SESSION]: true } ); }); + test('if duplicates found but loadedFromCookie is true, skip duplicate check and navigate to policy verified path', async () => { + // Arrange + const { wrapper } = setupMocks({}); + useMainStore().getDuplicateReferrals = jest.fn().mockImplementation(() => Promise.resolve({})); + useMainStore().applicationUser.duplicateOrders = [{ test: 'a' }]; + useMainStore().order.loadedFromCookie = true; + useMainStore().order.visitedDuplicateCheckPage = false; + useMainStore().order.insuranceCoverage.coverageType = coverageType.Deductible; + useMainStore().order.policy.vehicles = [{ vin: 'TEST_VIN' }]; + wrapper.vm.mainStore.validateZip = jest.fn().mockImplementation(() => Promise.resolve({ + data: { + isValid: true + } + })); + + // Act + await wrapper.vm.forwardButtonAction(); + + // Assert + expect(wrapper.vm.$router.navigate).toHaveBeenCalledWith( + navigationScenarios.CLICKED_FORWARD_POLICY_VERIFIED_WITH_VEHICLES, + undefined, + {}, + { [routerParams.SKIP_SAVE_SESSION]: true } + ); + }); + test('if duplicates found but visitedDuplicateCheckPage is true, skip duplicate check and navigate to policy verified path', async () => { + // Arrange + const { wrapper } = setupMocks({}); + useMainStore().getDuplicateReferrals = jest.fn().mockImplementation(() => Promise.resolve({})); + useMainStore().applicationUser.duplicateOrders = [{ test: 'a' }]; + useMainStore().order.loadedFromCookie = false; + useMainStore().order.visitedDuplicateCheckPage = true; + useMainStore().order.insuranceCoverage.coverageType = coverageType.Deductible; + useMainStore().order.policy.vehicles = [{ vin: 'TEST_VIN' }]; + wrapper.vm.mainStore.validateZip = jest.fn().mockImplementation(() => Promise.resolve({ + data: { + isValid: true + } + })); + + // Act + await wrapper.vm.forwardButtonAction(); + + // Assert + expect(wrapper.vm.$router.navigate).toHaveBeenCalledWith( + navigationScenarios.CLICKED_FORWARD_POLICY_VERIFIED_WITH_VEHICLES, + undefined, + {}, + { [routerParams.SKIP_SAVE_SESSION]: true } + ); + }); test('if policy and vehicles are found but no duplicates, navigate to policy-vehicle page', async () => { // Arrange const { wrapper } = setupMocks({}); @@ -277,26 +331,22 @@ describe('navigation', () => { { [routerParams.SKIP_SAVE_SESSION]: true } ); }); - test('getDuplicateReferrals throws rejected promise => navigate called', async () => { + test('getDuplicateReferrals throws rejected promise => error propagates', async () => { // Arrange const { wrapper } = setupMocks({}); - const error = 'duplicate referrals error'; + const error = new Error('duplicate referrals error'); useMainStore().getDuplicateReferrals = jest.fn().mockImplementation(() => Promise.reject(error)); + useMainStore().order.loadedFromCookie = false; + useMainStore().order.visitedDuplicateCheckPage = false; wrapper.vm.mainStore.validateZip = jest.fn().mockImplementation(() => Promise.resolve({ data: { isValid: true } })); - // Act - - // Assert - expect.assertions(1); - try { - await wrapper.vm.forwardButtonAction(); - } catch (e) { - expect(e).toMatch(error); - } + // Act & Assert + await expect(wrapper.vm.forwardButtonAction()).rejects.toEqual(error); + expect(wrapper.vm.$router.navigate).not.toHaveBeenCalled(); }); }); });