From 26a0d5086b6582bb61cdb1bfbe70838c857d4976 Mon Sep 17 00:00:00 2001 From: Katie Kroell Date: Thu, 1 Jun 2023 14:46:40 -0400 Subject: [PATCH] changes to vehicle-questions-mixin to account for repairs --- .../coverage-statement/coverage-statement.spec.js | 14 +++----------- .../coverage-statement/coverage-statement.vue | 13 ++----------- src/mixins/vehicle-questions-mixin.js | 12 +++++++++--- src/mixins/vehicle-questions-mixin.spec.js | 15 +++++++++++++++ 4 files changed, 29 insertions(+), 25 deletions(-) diff --git a/src/layouts/coverage-statement/coverage-statement.spec.js b/src/layouts/coverage-statement/coverage-statement.spec.js index 6254f006..92cc7215 100644 --- a/src/layouts/coverage-statement/coverage-statement.spec.js +++ b/src/layouts/coverage-statement/coverage-statement.spec.js @@ -122,8 +122,7 @@ const mockMixin = { function setupMocks({ pageHeaderWidgetHeaderText, -// cmsPageContent = "CMS content goes here", -// unverifiedNonADASRepairBodyText = "repair body text", +mountOptionsMockData = {}, }) { //Mock api responses const apiResponses = { @@ -142,6 +141,7 @@ pageHeaderWidgetHeaderText, unverifiedNonADASRepairBodyText: "Repair body text", }, }; + useMainStore().order = { vehicle: { vin: "TESTVIN", @@ -171,9 +171,7 @@ pageHeaderWidgetHeaderText, settleAllPromises.mockImplementation(() => apiPromise); fetchCmsContentForPage.mockImplementation(() => Promise.resolve()); - const mountOptions = getMountOptions({ - - }); + const mountOptions = getMountOptions({}); mountOptions.mixins = [baseMixin, vehicleQuestionsMixin]; @@ -181,12 +179,6 @@ pageHeaderWidgetHeaderText, wrapper.vm.setCmsContent = baseMixin.methods.setCmsContent; - // //Mock CMS content - // const cmsContent = { - // PageContent: cmsPageContent, - // NonADASRepairBodyText: unverifiedNonADASRepairBodyText, - // }; - return { wrapper }; } diff --git a/src/layouts/coverage-statement/coverage-statement.vue b/src/layouts/coverage-statement/coverage-statement.vue index 020847af..f1128f8a 100644 --- a/src/layouts/coverage-statement/coverage-statement.vue +++ b/src/layouts/coverage-statement/coverage-statement.vue @@ -29,7 +29,7 @@ @@ -134,16 +134,7 @@ export default { } return false; }, - - backButtonAction() { - if (useMainStore().order.damage.isRepair) { - this.$router.navigate(this.navigationScenarios.CLICKED_BACK_WITH_REPAIR, this.$route); - } - else { - this.$router.navigate(this.navigationScenarios.CLICKED_BACK, this.$route); - } - }, - + async forwardButtonAction() { return this.navigateForward(); }, diff --git a/src/mixins/vehicle-questions-mixin.js b/src/mixins/vehicle-questions-mixin.js index 28fdc4b7..aa9d5542 100644 --- a/src/mixins/vehicle-questions-mixin.js +++ b/src/mixins/vehicle-questions-mixin.js @@ -452,9 +452,15 @@ export default { this.hasGlassLocationWithMultipleParts(partsOrQuestions); const hasChildPartQuestions = this.hasChildPartQuestions(partsOrQuestions); const hasCapabilityQuestions = this.hasCapabilityQuestions(partsOrQuestions); - let backNavigationScenario = self.mainStore.vehicle.vin - ? navigationScenarios.CLICKED_BACK_WITH_VIN_AND_NO_MORE_QUESTIONS - : navigationScenarios.CLICKED_BACK_WITH_NO_VIN_NOR_QUESTIONS; + let backNavigationScenario = ""; + if (self.mainStore.order.damage.isRepair) { + backNavigationScenario = navigationScenarios.CLICKED_BACK_WITH_REPAIR; + } + else { + backNavigationScenario = self.mainStore.vehicle.vin + ? navigationScenarios.CLICKED_BACK_WITH_VIN_AND_NO_MORE_QUESTIONS + : navigationScenarios.CLICKED_BACK_WITH_NO_VIN_NOR_QUESTIONS; + } const currentPage = self.$route.query.issPage; if ( diff --git a/src/mixins/vehicle-questions-mixin.spec.js b/src/mixins/vehicle-questions-mixin.spec.js index 2ee9bffc..a9bc209c 100644 --- a/src/mixins/vehicle-questions-mixin.spec.js +++ b/src/mixins/vehicle-questions-mixin.spec.js @@ -2080,6 +2080,21 @@ describe("vehicle-questions-mixin", () => { }); describe("navigateBack", () => { + test("current page is coverage-statement and damage is repair => go to vehicle-damage", () => { + // Arrange + const { wrapper } = setupMocks({ issPage: issPageValues.COVERAGE_STATEMENT }); + useMainStore().order.damage.isRepair = true; + + // Act + wrapper.vm.navigateBack(); + + // Assert + expect(wrapper.vm.$router.navigate).toHaveBeenCalledWith( + navigationScenarios.CLICKED_BACK_WITH_REPAIR, + { query: { issPage: issPageValues.COVERAGE_STATEMENT } } + ); + }); + test("current page is molding questions and there are part questions, multiple parts to choose, and capability questions => go to vehicle-parts", () => { // Arrange const { wrapper } = setupMocks({ issPage: issPageValues.MOLDING_QUESTIONS });