diff --git a/src/layouts/estimate/estimate.vue b/src/layouts/estimate/estimate.vue index e003348bd..f38d6b77d 100644 --- a/src/layouts/estimate/estimate.vue +++ b/src/layouts/estimate/estimate.vue @@ -181,13 +181,13 @@ export default { state: zipCodeData.state, }, false); - if (!zipCodeData.isZipValid) { + if (!zipCodeData.isValid) { this.displayInvalidZipAlert = true; return this.$refs.funnelFooter.removeLoader(); } this.displayInvalidZipAlert = false; - if (!zipCodeData.isZipServiceable) { + if (!zipCodeData.isServiceable) { this.displayNonServiceableZipAlert = true; return this.$refs.funnelFooter.removeLoader(); } @@ -220,7 +220,6 @@ export default { }, computed: { AlertNonServiceableZipHeader(){ - console.log(this.getCmsContent("AlertNonServiceableZipWidget", "HeadlineText")); return this.getCmsContent("AlertNonServiceableZipWidget", "HeadlineText").replaceAll("{custom:serviceZip}", this.serviceZipCode); }, AlertNonServiceableZipBody(){ diff --git a/src/layouts/vin-lookup/vin-lookup.spec.js b/src/layouts/vin-lookup/vin-lookup.spec.js index d0d20a531..4f917c47e 100644 --- a/src/layouts/vin-lookup/vin-lookup.spec.js +++ b/src/layouts/vin-lookup/vin-lookup.spec.js @@ -226,6 +226,9 @@ function mockOutPromises(carId = 'C00000') { const apiResponses = { vehicleLookupResponse: { carId: carId + }, + zipCodeData: { + isValid: true, isServiceable: true, state: "OH" } }; diff --git a/src/layouts/vin-lookup/vin-lookup.vue b/src/layouts/vin-lookup/vin-lookup.vue index ff0e97f66..0118d8d67 100644 --- a/src/layouts/vin-lookup/vin-lookup.vue +++ b/src/layouts/vin-lookup/vin-lookup.vue @@ -238,13 +238,16 @@ export default { resultKey: "vehicleLookupResponse", promise: vehicleLookupResponse, }, + { + resultKey: "zipCodeData", + promise: this.getZipCodeData(this.serviceZipCode) + } ]; const resultMap = await settleAllPromises(promiseResultMap); - const zipCodeData = await this.getZipCodeData(this.serviceZipCode); // If a Service Zip is entered and it is an invalid zip code (ex. 11111) then show an alert - const isZipValid = zipCodeData.isValid; + const isZipValid = resultMap.zipCodeData.isValid; if (this.serviceZipCode && !isZipValid) { this.displayInvalidZipAlert = true; return this.$refs.funnelFooter.removeLoader(); @@ -252,14 +255,14 @@ export default { this.displayInvalidZipAlert = false; // If either lookup fails, remove the loader and stop processing the page. - if (!resultMap.vehicleLookupResponse || !zipCodeData.isServiceable) { + if (!resultMap.vehicleLookupResponse || !resultMap.zipCodeData.isServiceable) { // If the vehicle result is undefined, the vin entered was invalid. if(!resultMap.vehicleLookupResponse) { this.displayVinNotFoundAlert = true; } // Check if Service Zip entered is serviceable, if not display an alert - if (!zipCodeData.isServiceable) { + if (!resultMap.zipCodeData.isServiceable) { this.displayNonServiceableZipAlert = true; } @@ -293,7 +296,7 @@ export default { await this.dispatchStoreAction(storeActions.SAVE_EMAIL, this.emailAddress, false); await this.dispatchStoreAction(storeActions.SAVE_SERVICE_LOCATION, { zipCode: this.serviceZipCode, - state: zipCodeData.state, + state: resultMap.zipCodeData.state, }, false); return await this.navigateForward(); diff --git a/src/mixins/base-mixin.js b/src/mixins/base-mixin.js index b19b458da..f175c61b8 100644 --- a/src/mixins/base-mixin.js +++ b/src/mixins/base-mixin.js @@ -49,21 +49,12 @@ export default { return footerInfoBox ? footerInfoBox.offsetHeight : 0; }, async getZipCodeData(zipCode) { - const serviceZipValidationResponse = this.dispatchStoreAction(storeActions.VALIDATE_ZIP, { zip: zipCode }); - - const promiseResultMap = [ - { - resultKey: "serviceZipValidationResponse", - promise: serviceZipValidationResponse, - } - ]; - - const resultMap = await settleAllPromises(promiseResultMap); - + const serviceZipValidationResponse = await this.dispatchStoreAction(storeActions.VALIDATE_ZIP, { zip: zipCode }); + return { - isZipValid: resultMap.serviceZipValidationResponse.isValid, - isZipServiceable: resultMap.serviceZipValidationResponse.isServiceable, - state: resultMap.serviceZipValidationResponse.state + isValid: serviceZipValidationResponse.data.isValid, + isServiceable: serviceZipValidationResponse.data.isServiceable, + state: serviceZipValidationResponse.data.state }; } }, diff --git a/src/mixins/base-mixin.spec.js b/src/mixins/base-mixin.spec.js index 9c7ebcd90..6009dd67c 100644 --- a/src/mixins/base-mixin.spec.js +++ b/src/mixins/base-mixin.spec.js @@ -99,7 +99,7 @@ describe("baseMixin.js", () => { test("getZipCodeData calls dispatch", () => { const mixIn = getMixInInstance({}); mixIn.methods.dispatchStoreAction = jest.fn(); - mixIn.methods.dispatchStoreAction.mockReturnValue({ isValid:true, isServiceable:true, state:"OH" }); + mixIn.methods.dispatchStoreAction.mockReturnValue({data: { isValid:true, isServiceable:true, state:"OH" }}); const type = ""; const payload = { zip: 43015 };