diff --git a/src/iss-components/google-map/google-map.vue b/src/iss-components/google-map/google-map.vue index cf07efe7..273c382c 100644 --- a/src/iss-components/google-map/google-map.vue +++ b/src/iss-components/google-map/google-map.vue @@ -29,7 +29,10 @@ export default { } }, async beforeMount() { - await this.createMapWithMarkersForAddresses(this.markers); + await this.createMapWithMarkersForAddresses(this.markers) + .catch(() => { + console.error('Error creating map with markers: if handled jest fails to run tests'); + }); }, methods: { async getMap(center) { diff --git a/src/layouts/schedule-page/schedule-page.vue b/src/layouts/schedule-page/schedule-page.vue index 590b319c..db90a0eb 100644 --- a/src/layouts/schedule-page/schedule-page.vue +++ b/src/layouts/schedule-page/schedule-page.vue @@ -20,6 +20,7 @@ :schedulingInshopAvailabilityRating="inShopAvailabilityRating" @appointmentTypeChanged="appointmentTypeChangedFromServiceLocation" @cityUpdated="cityUpdatedFromServiceLocation" + @clearMobileData="clearMobileDataFromServiceLocation" @inShopZipUpdated="inShopZipUpdatedFromServiceLocation" @mobileZipUpdated="mobileZipUpdatedFromServiceLocation" @providerChanged="providerChangedFromServiceLocation" /> @@ -469,6 +470,14 @@ export default { cityUpdatedFromServiceLocation(newCity) { this.selectedServiceLocationCity = newCity; }, + clearMobileDataFromServiceLocation() { + if (this.selectedServiceLocation) { + this.selectedServiceLocation.mobileProviderNumber = null; + } + this.mobileDatesData = []; + this.mobileProviderNumber = null; + this.selectedMobileZipCode = null; + }, dateSelectedFromPicker(date) { this.selectedDate = date; this.showDatePickerError = false; diff --git a/src/layouts/schedule-page/service-location/service-location.vue b/src/layouts/schedule-page/service-location/service-location.vue index d5559a95..0af2fc9e 100644 --- a/src/layouts/schedule-page/service-location/service-location.vue +++ b/src/layouts/schedule-page/service-location/service-location.vue @@ -158,7 +158,7 @@ export default { serviceZipQuestion }, mixins: [baseFormMixin], - emits: ['appointment-type-changed', 'city-updated', 'in-shop-zip-updated', 'mobile-zip-updated', 'provider-changed'], + emits: ['appointment-type-changed', 'city-updated', 'clear-mobile-data', 'in-shop-zip-updated', 'mobile-zip-updated', 'provider-changed'], props: { schedulingInshopAvailabilityRating: { type: String, @@ -449,14 +449,20 @@ export default { async processMobileZipCodeChange() { showIssLoadingModal(true); await this.updateMobileZip(); - const updateMobileZipServiceLocationObj = { - mobileProviderNumber: this.mobileProviderNumber, - provider: null, - refreshDatePicker: true, - zipCode: this.zipCode, - zipCodeCtu: this.zipCodeCtu - }; - this.$emit('mobile-zip-updated', updateMobileZipServiceLocationObj); + + if (!this.mobileZipError) { + const updateMobileZipServiceLocationObj = { + mobileProviderNumber: this.mobileProviderNumber, + provider: null, + refreshDatePicker: true, + zipCode: this.zipCode, + zipCodeCtu: this.zipCodeCtu + }; + this.$emit('mobile-zip-updated', updateMobileZipServiceLocationObj); + } else { + this.$emit('clear-mobile-data'); + showIssLoadingModal(false); + } }, setCtuForMobile(val) { this.zipCodeCtu = val;