Updates for emitting contains military zip

This commit is contained in:
Bill Richardson 2023-03-16 16:00:08 -04:00
parent 195dc954ff
commit 14541d110c
3 changed files with 19 additions and 18 deletions

View file

@ -319,11 +319,15 @@ describe("service-location.vue", () => {
state: "OH",
};
// Assert
wrapper.setData({ zipCode: newServiceZipCodeQuestion.zipCode });
wrapper.vm.$nextTick(() => {
expect(wrapper.vm.zipContainsMilitaryBase).toBe(true);
const serviceZipCodeComponent = wrapper.findComponent({
ref: "serviceZipCodeQuestion",
});
// Act
serviceZipCodeComponent.vm.$emit("updated-contains-military-base", true);
// Assert
expect(wrapper.vm.zipContainsMilitaryBase).toBe(true);
});
});

View file

@ -10,7 +10,8 @@
:mobileFeePart="mobileFeePart"
@updated-mobile-fee-part="setMobileFeePart"
linkWidgetName="ServiceZipLinkWidget"
modalWidgetName="ServiceZipModalWidget" />
modalWidgetName="ServiceZipModalWidget"
@updated-contains-military-base="setContainsMilitaryBase" />
<alert
class="my-4"
cmsWidgetName="AlertMilitaryBaseZipWidget"
@ -26,7 +27,7 @@
<funnel-footer
cmsWidgetName="FunnelFooterWidget"
ref="funnelFooter"
:isForwardActionDisabled="!meta.valid || shouldDisableForwardAction"
:isForwardActionDisabled="!meta.valid"
@back-clicked="backButtonAction"
@ForwardClicked="forwardButtonAction" />
</div>
@ -141,9 +142,6 @@ export default {
this.isVehicleProtected = newValue.isVehicleProtected;
},
},
shouldDisableForwardAction() {
return this.zipContainsMilitaryBase;
},
},
methods: {
arePagePrerequisitesValid() {
@ -158,6 +156,11 @@ export default {
this.mobileFeePart = mobileFeePart;
}
},
setContainsMilitaryBase(val) {
if (this.zipContainsMilitaryBase !== val) {
this.zipContainsMilitaryBase = val;
}
},
getServiceAddressFromStore() {
return store.getters.order.serviceLocation.address;
},
@ -187,15 +190,6 @@ export default {
navigateToHeritageFunnel({ loadingModal: this.$refs.loadingModal });
},
},
watch: {
zipCode(current, previous) {
if (current !== previous) {
baseMixin.methods.getZipCodeData(current).then((r) => {
this.zipContainsMilitaryBase = r.containsMilitaryBase;
});
}
},
},
components: {
alert,
serviceZipModalQuestion,

View file

@ -44,6 +44,7 @@ import { getPricedMobileFeePart } from "@/layouts/service-location/helpers/servi
export default {
name: "service-zip-modal-question",
emits: ["update:modelValue", "updated-mobile-fee-part"],
emits: ["updated-contains-military-base"],
data() {
return {
internalModel: this.copyModel(this.modelValue),
@ -160,6 +161,8 @@ export default {
// Update the page level model
this.$emit("update:modelValue", this.internalModel);
this.$emit("updated-contains-military-base", zipCodeData.containsMilitaryBase);
this.closeModal();
}
},