Merge pull request #3116 from Safelite/CASH-2481-r3

Cash 2481 r3
This commit is contained in:
AdamCaouetteSafelite 2026-03-25 13:48:17 -04:00 committed by GitHub
commit 866955fa76
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 26 additions and 6 deletions

View file

@ -62,6 +62,7 @@ import baseMixin from "@/mixins/base-mixin.js";
import { queryStrings } from "@/constants/query-strings"; import { queryStrings } from "@/constants/query-strings";
import { nextTick } from "vue"; import { nextTick } from "vue";
import { peekQueryFromStash } from "@/router/methods/helpers/querystring-stash"; import { peekQueryFromStash } from "@/router/methods/helpers/querystring-stash";
import { showFmgLoadingModal } from "@/helpers/loading-modal-helper";
// Define Validation Rules // Define Validation Rules
defineRule("zip-required", required(errorMessages.SERVICE_ZIP_REQUIRED)); defineRule("zip-required", required(errorMessages.SERVICE_ZIP_REQUIRED));
@ -169,7 +170,7 @@ export default {
baseMixin.methods.ResetExternalParamsAndHideModal(); baseMixin.methods.ResetExternalParamsAndHideModal();
} }
} else { } else {
baseMixin.methods.ResetExternalParamsAndHideModal(); showFmgLoadingModal(false);
} }
} else { } else {
baseMixin.methods.ResetExternalParamsAndHideModal(); baseMixin.methods.ResetExternalParamsAndHideModal();

View file

@ -80,6 +80,7 @@ import { saveSession } from "@/helpers/heritage-integration/order-helper.js";
import baseMixin from "@/mixins/base-mixin.js"; import baseMixin from "@/mixins/base-mixin.js";
import { queryStrings } from "@/constants/query-strings"; import { queryStrings } from "@/constants/query-strings";
import { routeData } from "@/router/constants/routes"; import { routeData } from "@/router/constants/routes";
import { showFmgLoadingModal } from "@/helpers/loading-modal-helper";
// Define Validation Rules // Define Validation Rules
defineRule("zip-required", required(errorMessages.SERVICE_ZIP_REQUIRED)); defineRule("zip-required", required(errorMessages.SERVICE_ZIP_REQUIRED));
@ -137,6 +138,13 @@ export default {
}, },
false false
); );
vm.serviceZipCode = store.getters.externalParameterServiceZip.zipCode;
const isValid = await baseMixin.methods.isFormValid(vm.$refs.theForm);
if (isValid) {
showFmgLoadingModal(true);
vm.forwardButtonAction();
return;
}
} }
if (store.getters.externalParameterCustomer?.phoneNumber) { if (store.getters.externalParameterCustomer?.phoneNumber) {

View file

@ -93,6 +93,7 @@ import { errorMessages } from "@/constants/error-messages";
import { damageLocationsCms } from "@/constants/damage-locations-cms.js"; import { damageLocationsCms } from "@/constants/damage-locations-cms.js";
import { damageLocationsSelected } from "@/constants/damage-locations-selected.js"; import { damageLocationsSelected } from "@/constants/damage-locations-selected.js";
import { getFunnelCookie } from "@/helpers/heritage-integration/cookie-helper"; import { getFunnelCookie } from "@/helpers/heritage-integration/cookie-helper";
import { showFmgLoadingModal } from "@/helpers/loading-modal-helper";
import { debugLog } from "@/helpers/debug-log-helper"; import { debugLog } from "@/helpers/debug-log-helper";
import store from "@/store"; import store from "@/store";
@ -199,7 +200,7 @@ export default {
return vm.forwardButtonAction(); return vm.forwardButtonAction();
} }
} }
baseMixin.methods.ResetExternalParamsAndHideModal(); showFmgLoadingModal(false);
//clear any validation errors for external parameter flow //clear any validation errors for external parameter flow
const form = vm.$refs.theForm; const form = vm.$refs.theForm;
@ -209,7 +210,7 @@ export default {
} }
} }
} else { } else {
baseMixin.methods.ResetExternalParamsAndHideModal(); showFmgLoadingModal(false);
} }
}); });
}, },

View file

@ -93,8 +93,11 @@ describe("vehicle.vue", () => {
}); });
describe("vehicle.vue", () => { describe("vehicle.vue", () => {
test("should call forwardButtonAction if isExternalParameter is true and form is valid", async () => { test("should call forwardButtonAction if isExternalParameter is true, has a year, make and model, and form is valid", async () => {
store.getters.externalParameterState.isExternalParameter = true; store.getters.externalParameterState.isExternalParameter = true;
store.getters.externalParameterVehicle.year = "1886";
store.getters.externalParameterVehicle.make = "Benz";
store.getters.externalParameterVehicle.model = "Patent-Motorwagen";
// Create a shallow mount of MyComponent // Create a shallow mount of MyComponent
const { wrapper } = setupMocks(); const { wrapper } = setupMocks();
// Set displayNoServiceAlert to false // Set displayNoServiceAlert to false

View file

@ -109,6 +109,7 @@ import { getFunnelCookie } from "@/helpers/heritage-integration/cookie-helper";
import { applicationConfig } from "../../constants/application-config"; import { applicationConfig } from "../../constants/application-config";
import { queryStrings } from "@/constants/query-strings"; import { queryStrings } from "@/constants/query-strings";
import { getQuerystringParameter } from "@/helpers/querystring-helper"; import { getQuerystringParameter } from "@/helpers/querystring-helper";
import { showFmgLoadingModal } from "@/helpers/loading-modal-helper";
import { debugLog } from "@/helpers/debug-log-helper"; import { debugLog } from "@/helpers/debug-log-helper";
//define validation rules //define validation rules
@ -291,7 +292,12 @@ export default {
resultMap.modelQuestionInitialData, resultMap.modelQuestionInitialData,
resultMap.styleQuestionInitialData resultMap.styleQuestionInitialData
); );
if (store.getters.externalParameterState?.isExternalParameter) { if (
store.getters.externalParameterState?.isExternalParameter &&
store.getters.externalParameterVehicle.year &&
store.getters.externalParameterVehicle.make &&
store.getters.externalParameterVehicle.model
) {
await vm.getVehicleDetails(); await vm.getVehicleDetails();
if (!vm.displayNoServiceAlert) { if (!vm.displayNoServiceAlert) {
const isValid = await baseMixin.methods.isFormValid(vm.$refs.theForm); const isValid = await baseMixin.methods.isFormValid(vm.$refs.theForm);
@ -304,7 +310,7 @@ export default {
baseMixin.methods.ResetExternalParamsAndHideModal(); baseMixin.methods.ResetExternalParamsAndHideModal();
} }
} else { } else {
baseMixin.methods.ResetExternalParamsAndHideModal(); showFmgLoadingModal(false);
} }
}); });
}, },

View file

@ -95,6 +95,7 @@ function updateExternalParameterState() {
} }
if (externalParameterZipCode) { if (externalParameterZipCode) {
store.commit(storeMutations.UPDATE_EXTERNAL_PARAMETER_ZIP_CODE, externalParameterZipCode); store.commit(storeMutations.UPDATE_EXTERNAL_PARAMETER_ZIP_CODE, externalParameterZipCode);
store.commit(storeMutations.UPDATE_IS_EXTERNAL_PARAMETER, externalParameterStatus.ACTIVE);
} }
if (externalParameterEmail) { if (externalParameterEmail) {
store.commit( store.commit(