diff --git a/src/helpers/damage-helper.js b/src/helpers/damage-helper.js
index 443712991..a9b14b98d 100644
--- a/src/helpers/damage-helper.js
+++ b/src/helpers/damage-helper.js
@@ -23,6 +23,13 @@ export function getDamageString() {
return returnString;
}
+ export function getIsWindshieldOnly () {
+ const damageLocations = store.getters.damage.glassToReplace;
+ const returnString = damageLocations.length === 1 && damageLocations[0]?.location === "Windshield" ? "windshield" : "glass";
+ console.log(damageLocations);
+ return returnString;
+ }
+
export async function isGlassAvailableForCarId(carId){
const newGlassOptions = await baseMixin.methods.dispatchStoreAction(
storeActions.GET_DAMAGE_OPTIONS,
diff --git a/src/layouts/license-plate-lookup/license-plate-lookup.spec.js b/src/layouts/license-plate-lookup/license-plate-lookup.spec.js
index 71a9e2a28..9afd7e39a 100644
--- a/src/layouts/license-plate-lookup/license-plate-lookup.spec.js
+++ b/src/layouts/license-plate-lookup/license-plate-lookup.spec.js
@@ -3,6 +3,7 @@ import licensePlateLookup from "@/layouts/license-plate-lookup/license-plate-loo
// Supporting Files
import { settleAllPromises } from "@/helpers/layout-helper.js";
+import * as navigateToHeritage from "@/helpers/heritage-integration/navigation-helper";
import baseMixin from "@/mixins/base-mixin";
import { fetchCmsContentForPage } from "@/helpers/cms-content-helper";
import { shallowMount, flushPromises } from "@vue/test-utils";
@@ -380,16 +381,15 @@ describe("license-plate-lookup.vue", () => {
//Act
wrapper.vm.isCarIdDifferent = false;
- wrapper.vm.$router.navigateAfterSaveToHeritageFunnel = jest.fn();
wrapper.vm.$refs.loadingModal.showModal = jest.fn();
wrapper.vm.getCmsContent = jest.fn().mockImplementation(() => {
return '';
});
-
+ navigateToHeritage.navigateAfterSaveToHeritageFunnel = jest.fn();
await wrapper.vm.navigateForward();
//Assert
- expect(wrapper.vm.$router.navigateAfterSaveToHeritageFunnel).toHaveBeenCalled();
+ expect(navigateToHeritage.navigateAfterSaveToHeritageFunnel).toHaveBeenCalled();
});
});
diff --git a/src/layouts/license-plate-lookup/license-plate-lookup.vue b/src/layouts/license-plate-lookup/license-plate-lookup.vue
index a027f5e8b..22eec59a3 100644
--- a/src/layouts/license-plate-lookup/license-plate-lookup.vue
+++ b/src/layouts/license-plate-lookup/license-plate-lookup.vue
@@ -70,6 +70,9 @@ import {
import {
errorMessages
} from "@/constants/error-messages";
+import {
+ navigateAfterSaveToHeritageFunnel
+} from "@/helpers/heritage-integration/navigation-helper";
import {
getDamageString,
isGlassAvailableForCarId,
@@ -134,6 +137,7 @@ export default {
previouslyEnteredCarId: "",
customAlertData: {},
isSelectedGlassAvailableForVehicle: true,
+ zipToDisplay: this.getRegistrationZipFromStore(),
};
},
mounted() {
@@ -171,7 +175,7 @@ export default {
let text = this.getCmsContent(
"NoServiceZipWidget",
"HeadlineText"
- ).replaceAll("{custom:zip}", this.registrationZip);
+ ).replaceAll("{custom:zip}", this.zipToDisplay);
return text;
},
NoServiceZipBody() {
@@ -223,6 +227,7 @@ export default {
this.isVinValid = true;
this.isRegistrationZipServicable = false;
this.isCarIdDifferent = false;
+ this.zipToDisplay = this.serviceZip ? this.serviceZip : this.registrationZip;
return;
}
const vinLookup = await this.lookupVin(
@@ -273,7 +278,7 @@ export default {
return;
} else {
this.$refs.loadingModal.showModal();
- this.$router.navigateAfterSaveToHeritageFunnel(this.$route);
+ navigateAfterSaveToHeritageFunnel(this.$route);
return;
}
},
diff --git a/src/layouts/vin-lookup/vin-lookup.vue b/src/layouts/vin-lookup/vin-lookup.vue
index f41f9a943..7fe982fdb 100644
--- a/src/layouts/vin-lookup/vin-lookup.vue
+++ b/src/layouts/vin-lookup/vin-lookup.vue
@@ -108,6 +108,14 @@
alertClass="alert-warning"
cmsWidgetName="PerfectMatchNewVinAlert"
/>
+
-
@@ -176,7 +177,7 @@ import baseMixin from "@/mixins/base-mixin.js";
import { storeActions } from "@/constants/store-actions";
import { storeMutations } from "@/constants/store-mutations";
import { errorMessages } from "@/constants/error-messages";
-import { getDamageString, isGlassAvailableForCarId } from "@/helpers/damage-helper";
+import { getDamageString, getIsWindshieldOnly, isGlassAvailableForCarId } from "@/helpers/damage-helper";
import { required, regex } from "@/helpers/validation-rules";
import { Form, defineRule } from "vee-validate";
import { navigateAfterSaveToHeritageFunnel } from "@/helpers/heritage-integration/navigation-helper";
@@ -267,6 +268,13 @@ export default {
return this.getCmsContent("PerfectMatchNewVinAlert", "BodyText").replaceAll("{custom:damage}",
getDamageString())
},
+ PerfectMatchNewVinAlertReadOnlyHeader () {
+ return this.getCmsContent("PerfectMatchNewVinAlertReadOnly", "HeadlineText");
+ },
+ PerfectMatchNewVinAlertReadOnlyBody () {
+ return this.getCmsContent("PerfectMatchNewVinAlertReadOnly", "BodyText").replaceAll("{custom:damage}",
+ getIsWindshieldOnly())
+ },
isVinFieldReadOnly(){
return this.$store.getters.payment.insuranceCoverage.isVerified;
},
diff --git a/src/store/index.js b/src/store/index.js
index 75bd4807d..d570b5c4e 100644
--- a/src/store/index.js
+++ b/src/store/index.js
@@ -144,9 +144,9 @@ export const mutations = {
updateRegistrationAddress(state, registrationAddress){
state.order.vehicle.registration.address = registrationAddress;
},
- updateServiceLocationZip(state, serviceLocationZip){
+ updateServiceLocationZipCode(state, serviceLocationZip){
state.order.vehicle.registration.zip = serviceLocationZip;
- },
+ },
updateRegistrationCity(state, serviceCity){
state.order.vehicle.registration.city = serviceCity;
},