Merge pull request #3128 from Safelite/nation/CASH-2508
CASH-2508 check externalparameterstate correctly
This commit is contained in:
commit
2e5080ae21
2 changed files with 31 additions and 6 deletions
|
|
@ -17,6 +17,7 @@ import store from "@/store";
|
||||||
import { validate } from "vee-validate";
|
import { validate } from "vee-validate";
|
||||||
import { damageLocationsSelected } from "@/constants/damage-locations-selected.js";
|
import { damageLocationsSelected } from "@/constants/damage-locations-selected.js";
|
||||||
import * as cookieHelper from "@/helpers/heritage-integration/cookie-helper";
|
import * as cookieHelper from "@/helpers/heritage-integration/cookie-helper";
|
||||||
|
import { externalParameterStatus } from "@/constants/external-parameters";
|
||||||
|
|
||||||
// Mock our module for promises.
|
// Mock our module for promises.
|
||||||
jest.mock("@/helpers/layout-helper.js", () => ({
|
jest.mock("@/helpers/layout-helper.js", () => ({
|
||||||
|
|
@ -817,7 +818,11 @@ describe("vehicle-damage.vue", () => {
|
||||||
describe("vehicle-damage.vue", () => {
|
describe("vehicle-damage.vue", () => {
|
||||||
test("should call forwardButtonAction if isExternalParameter is true and form is valid", async () => {
|
test("should call forwardButtonAction if isExternalParameter is true and form is valid", async () => {
|
||||||
// Set up the store with isExternalParameter as true
|
// 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 = {
|
store.getters.externalParameterDamage = {
|
||||||
damageType: "windshieldReplace",
|
damageType: "windshieldReplace",
|
||||||
isRepair: false,
|
isRepair: false,
|
||||||
|
|
|
||||||
|
|
@ -100,6 +100,7 @@ import store from "@/store";
|
||||||
import baseMixin from "@/mixins/base-mixin";
|
import baseMixin from "@/mixins/base-mixin";
|
||||||
import { nextTick } from "vue";
|
import { nextTick } from "vue";
|
||||||
import { getBoolFromString } from "@/helpers/boolean-helper";
|
import { getBoolFromString } from "@/helpers/boolean-helper";
|
||||||
|
import { externalParameterStatus } from "@/constants/external-parameters";
|
||||||
// DEFINE VALIDATION RULES
|
// DEFINE VALIDATION RULES
|
||||||
defineRule("replace-options-required", required(errorMessages.REPLACE_OPTIONS_REQUIRED));
|
defineRule("replace-options-required", required(errorMessages.REPLACE_OPTIONS_REQUIRED));
|
||||||
|
|
||||||
|
|
@ -143,7 +144,12 @@ export default {
|
||||||
vm.$refs.backGlassOptions.initializeComponent(
|
vm.$refs.backGlassOptions.initializeComponent(
|
||||||
resultMap.damageOptions.backGlassOptions.availableReplacementOptions
|
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();
|
await nextTick();
|
||||||
const isValid = await baseMixin.methods.isFormValid(vm.$refs.theForm);
|
const isValid = await baseMixin.methods.isFormValid(vm.$refs.theForm);
|
||||||
debugLog(`**** vehicle-damage is form valid: ${isValid} ****`);
|
debugLog(`**** vehicle-damage is form valid: ${isValid} ****`);
|
||||||
|
|
@ -355,7 +361,12 @@ export default {
|
||||||
) {
|
) {
|
||||||
windShieldOptions.selectedWindshieldDamageType =
|
windShieldOptions.selectedWindshieldDamageType =
|
||||||
damageLocationsSelected.REPLACE;
|
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(
|
windShieldOptions.selectedWindshieldReplaceOptions.push(
|
||||||
damageLocationsSelected.SINGLE
|
damageLocationsSelected.SINGLE
|
||||||
);
|
);
|
||||||
|
|
@ -666,12 +677,21 @@ export default {
|
||||||
return this.$store.getters.requiresVerifiedRedirecting;
|
return this.$store.getters.requiresVerifiedRedirecting;
|
||||||
},
|
},
|
||||||
isContinueEnabled() {
|
isContinueEnabled() {
|
||||||
return (
|
var isEnabled =
|
||||||
this.isAnyDamageSelected &&
|
this.isAnyDamageSelected &&
|
||||||
this.isWindshieldValid &&
|
this.isWindshieldValid &&
|
||||||
this.isRearGlassValid &&
|
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() {
|
isAnyDamageSelected() {
|
||||||
return this.selectedDamageLocations != null && this.selectedDamageLocations.length != 0;
|
return this.selectedDamageLocations != null && this.selectedDamageLocations.length != 0;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue