From 0dfb25b8864b07d14284a3dea039224c3730da83 Mon Sep 17 00:00:00 2001 From: Josh Dassinger Date: Fri, 5 Apr 2024 10:09:34 -0500 Subject: [PATCH] SSR-1049 PR Changes --- .../coverage-statement/coverage-statement.vue | 13 +++---------- src/store/index.js | 9 ++++++--- src/store/store.spec.js | 18 ++++++++++++++++++ 3 files changed, 27 insertions(+), 13 deletions(-) diff --git a/src/layouts/coverage-statement/coverage-statement.vue b/src/layouts/coverage-statement/coverage-statement.vue index e1a7f576..bd1e0162 100644 --- a/src/layouts/coverage-statement/coverage-statement.vue +++ b/src/layouts/coverage-statement/coverage-statement.vue @@ -135,10 +135,6 @@ import { formatAmountInDollars } from '@/helpers/text-helper.js'; const SAFELITE_PROVIDER = 'Safelite'; -function setBailout(message) { - useMainStore().setBailout(message); -} - export default { name: 'coverage-statement', components: { @@ -186,7 +182,7 @@ export default { await useMainStore().getFinalDeductible(); pricingResults = await useMainStore().getPriceOrderItems(availableLineItems) .catch((err) => { - setBailout(bailoutMessage.pricingResponseError( + useMainStore().setBailout(bailoutMessage.pricingResponseError( availableLineItems.map((li) => li.partNumber), { code: err.code, message: err.message, data: err.data } )); @@ -397,17 +393,14 @@ export default { useMainStore().updateSupportingItems(this.supportingItems); this.navigateWithScenario(navigationScenarios.CLICKED_FORWARD_WITH_SAFELITE); } else { - this.setBailoutWithMessage(bailoutMessage.RequestCallback()); + useMainStore().setBailout(bailoutMessage.RequestCallback()); this.navigateWithScenario(navigationScenarios.CLICKED_FORWARD_WITH_NON_SAFELITE_SHOP); } } else { - this.setBailoutWithMessage(bailoutMessage.coverageStatementInvalidState()); + useMainStore().setBailout(bailoutMessage.coverageStatementInvalidState()); this.navigateWithScenario(navigationScenarios.CLICKED_FORWARD_WITH_INVALID_STATE); } }, - setBailoutWithMessage(message) { - setBailout(message); - }, navigateWithScenario(scenario) { this.$router.navigate(scenario, this.$route); }, diff --git a/src/store/index.js b/src/store/index.js index e3da5e6f..62bcfb4a 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -1574,10 +1574,13 @@ export const useMainStore = defineStore({ this.order.vehicle.imageVifNumber = vehicle.imageVifNumber; this.order.vehicle.imageColor = vehicle.imageVifColor; - if (vehicle.canSafeliteService != null && !vehicle.canSafeliteService) { + if (vehicle.canSafeliteService) { + if (this.isBailout && this.bailoutCode === bailoutCode.HeavyTruckVehicle) { + // reset previously set bailout if vehicle can be serviced. + this.resetBailout(); + } + } else { this.setBailout(bailoutMessage.HeavyTruckVehicle(vehicle.carId)); - } else if (this.isBailout && this.bailoutCode === bailoutCode.HeavyTruckVehicle) { - this.resetBailout(); } // These could be undefined diff --git a/src/store/store.spec.js b/src/store/store.spec.js index 963c0713..29c5c538 100644 --- a/src/store/store.spec.js +++ b/src/store/store.spec.js @@ -1066,6 +1066,12 @@ describe('Store', () => { it('sets expected vehicle data', async () => { // Arrange globalMethods.callHttpClient = jest.fn().mockReturnValue(Promise.resolve(fullApiResponse)); + store.lookupVehicleByVin = jest.fn().mockReturnValue(Promise.resolve({ + data: { + vin: vehicle.vin, + canSafeliteService: true + } + })); const duplicate = { referralNumber: getRandomString(6, 6), @@ -1089,6 +1095,12 @@ describe('Store', () => { it('sets expected customer data', async () => { // Arrange globalMethods.callHttpClient = jest.fn().mockReturnValue(Promise.resolve(fullApiResponse)); + store.lookupVehicleByVin = jest.fn().mockReturnValue(Promise.resolve({ + data: { + vin: vehicle.vin, + canSafeliteService: true + } + })); const duplicate = { referralNumber: getRandomString(6, 6), @@ -1115,6 +1127,12 @@ describe('Store', () => { it('sets expected remaining order data', async () => { // Arrange globalMethods.callHttpClient = jest.fn().mockReturnValue(Promise.resolve(fullApiResponse)); + store.lookupVehicleByVin = jest.fn().mockReturnValue(Promise.resolve({ + data: { + vin: vehicle.vin, + canSafeliteService: true + } + })); const duplicate = { referralNumber: getRandomString(6, 6),