diff --git a/src/layouts/vehicle-damage/vehicle-damage.spec.js b/src/layouts/vehicle-damage/vehicle-damage.spec.js index 7ea899fda..3b8e46d22 100644 --- a/src/layouts/vehicle-damage/vehicle-damage.spec.js +++ b/src/layouts/vehicle-damage/vehicle-damage.spec.js @@ -17,6 +17,7 @@ import store from "@/store"; import { validate } from "vee-validate"; import { damageLocationsSelected } from "@/constants/damage-locations-selected.js"; import * as cookieHelper from "@/helpers/heritage-integration/cookie-helper"; +import { externalParameterStatus } from "@/constants/external-parameters"; // Mock our module for promises. jest.mock("@/helpers/layout-helper.js", () => ({ @@ -817,7 +818,11 @@ describe("vehicle-damage.vue", () => { describe("vehicle-damage.vue", () => { test("should call forwardButtonAction if isExternalParameter is true and form is valid", async () => { // Set up the store with isExternalParameter as true - store.getters.externalParameterState = { isExternalParameter: true }; + store.getters.externalParameterState = { + isExternalParameter: true, + isExternalParameter: externalParameterStatus.ACTIVE, + vehicleDamage: { damageType: "windshieldReplace" }, + }; store.getters.externalParameterDamage = { damageType: "windshieldReplace", isRepair: false, diff --git a/src/layouts/vehicle-damage/vehicle-damage.vue b/src/layouts/vehicle-damage/vehicle-damage.vue index abad0da7d..ee8d3e074 100644 --- a/src/layouts/vehicle-damage/vehicle-damage.vue +++ b/src/layouts/vehicle-damage/vehicle-damage.vue @@ -100,6 +100,7 @@ import store from "@/store"; import baseMixin from "@/mixins/base-mixin"; import { nextTick } from "vue"; import { getBoolFromString } from "@/helpers/boolean-helper"; +import { externalParameterStatus } from "@/constants/external-parameters"; // DEFINE VALIDATION RULES defineRule("replace-options-required", required(errorMessages.REPLACE_OPTIONS_REQUIRED)); @@ -143,7 +144,12 @@ export default { vm.$refs.backGlassOptions.initializeComponent( resultMap.damageOptions.backGlassOptions.availableReplacementOptions ); - if (store.getters.externalParameterState?.isExternalParameter) { + if ( + store.getters.externalParameterState?.isExternalParameter && + store.getters.externalParameterState?.isExternalParameter === + externalParameterStatus.ACTIVE && + store.getters.externalParameterState.vehicleDamage?.damageType + ) { await nextTick(); const isValid = await baseMixin.methods.isFormValid(vm.$refs.theForm); debugLog(`**** vehicle-damage is form valid: ${isValid} ****`); @@ -355,7 +361,12 @@ export default { ) { windShieldOptions.selectedWindshieldDamageType = damageLocationsSelected.REPLACE; - if (!store.getters.externalParameterState.isExternalParameter) { + if ( + !store.getters.externalParameterState.isExternalParameter || + store.getters.externalParameterState?.isExternalParameter !== + externalParameterStatus.ACTIVE || + !store.getters.externalParameterState.vehicleDamage?.damageType + ) { windShieldOptions.selectedWindshieldReplaceOptions.push( damageLocationsSelected.SINGLE ); @@ -666,12 +677,21 @@ export default { return this.$store.getters.requiresVerifiedRedirecting; }, isContinueEnabled() { - return ( + var isEnabled = this.isAnyDamageSelected && this.isWindshieldValid && this.isRearGlassValid && - this.isSideGlassValid - ); + this.isSideGlassValid; + if (!isEnabled) { + debugLog( + `************************ isContinueEnabled: ${isEnabled} *****************************` + ); + debugLog(`**** this.isAnyDamageSelected: ${this.isAnyDamageSelected} ****`); + debugLog(`**** this.isWindshieldValid: ${this.isWindshieldValid} ****`); + debugLog(`**** this.isRearGlassValid: ${this.isRearGlassValid} ****`); + debugLog(`**** this.isSideGlassValid: ${this.isSideGlassValid} ****`); + } + return isEnabled; }, isAnyDamageSelected() { return this.selectedDamageLocations != null && this.selectedDamageLocations.length != 0;