diff --git a/src/constants/application-config.js b/src/constants/application-config.js index 550112bcc..4c5305783 100644 --- a/src/constants/application-config.js +++ b/src/constants/application-config.js @@ -9,7 +9,7 @@ const applicationConfig = { APPLICATION_ABBREVIATION: "fmg", PAGE_QUERYSTRING: "fmgPage", SITE_ENTRY_TRIGGER_VALUE: "FixMyGlass", - CASH_ACCOUNT_NUMBER: 167132, + CASH_PARENT_ACCOUNT_NUMBER: 167132, }; export { applicationConfig }; diff --git a/src/constants/store-actions.js b/src/constants/store-actions.js index 11e03bdb3..2b7033e10 100644 --- a/src/constants/store-actions.js +++ b/src/constants/store-actions.js @@ -68,7 +68,7 @@ const storeActions = { SAVE_MOLDING_QUESTION_ANSWERS: "saveMoldingQuestionAnswers", SAVE_CAPABILITY_QUESTION_ANSWERS: "saveCapabilityQuestionAnswers", SAVE_PAYMENT_TYPE: "savePaymentType", - SAVE_ACCOUNT_NUMBER: "saveAccountNumber", + SAVE_PARENT_ACCOUNT_NUMBER: "saveParentAccountNumber", SAVE_SUPPORTING_ITEMS: "saveSupportingItems", SAVE_VAPS: "saveVaps", }; diff --git a/src/constants/tint-mapper.js b/src/constants/tint-mapper.js index fab6d508f..519de0855 100644 --- a/src/constants/tint-mapper.js +++ b/src/constants/tint-mapper.js @@ -32,6 +32,7 @@ const tintMap = { { name: "gray tint", src: "Glass-NoShade-GrayTint.svg" }, { name: "green tint", src: "Glass-NoShade-GreenTint.svg" }, { name: "gray tint privacy", src: "Glass-NoShade-GrayTint.svg" }, + { name: "blue tint", src: "Glass-NoShade-BlueTint.svg" }, // No shade or tint { name: "clear", src: "Glass-NoShade-NoTint.svg" }, diff --git a/src/digital-components/modal/modal.vue b/src/digital-components/modal/modal.vue index 0034b5155..a18881796 100644 --- a/src/digital-components/modal/modal.vue +++ b/src/digital-components/modal/modal.vue @@ -78,8 +78,9 @@ export default { const validationResult = await this.form.validate(); if (validationResult.valid) { this.$emit("footer-button-event"); + } else { + this.resetButtonStyle(); } - this.resetButtonStyle(); }, resetButtonStyle() { this.$refs.buttonMain.resetButtonStyle(); diff --git a/src/helpers/heritage-integration/navigation-helper.spec.js b/src/helpers/heritage-integration/navigation-helper.spec.js index f9b3b1017..67a5055c8 100644 --- a/src/helpers/heritage-integration/navigation-helper.spec.js +++ b/src/helpers/heritage-integration/navigation-helper.spec.js @@ -350,7 +350,7 @@ describe("navigateToHeritageFunnel", () => { const mockReferralNumber = "2"; const mockCorrelationId = "55"; const mockReferralDate = "2022"; - const mockAccountNumber = "167132"; + const mockParentAccountNumber = "167132"; const mockSavedSessionId = "xxx-xxx-xxx"; const mockCrmCustomerId = "xxx-xxx-xxx"; @@ -358,7 +358,7 @@ describe("navigateToHeritageFunnel", () => { mockReferralNumber, mockCorrelationId, mockReferralDate, - mockAccountNumber, + mockParentAccountNumber, mockSavedSessionId, mockCrmCustomerId ); @@ -395,7 +395,7 @@ describe("navigateToHeritageFunnel", () => { const mockReferralNumber = "2"; const mockCorrelationId = "55"; const mockReferralDate = "2022"; - const mockAccountNumber = "167132"; + const mockParentAccountNumber = "167132"; const mockSavedSessionId = "xxx-xxx-xxx"; const mockCrmCustomerId = "xxx-xxx-xxx"; @@ -403,7 +403,7 @@ describe("navigateToHeritageFunnel", () => { mockReferralNumber, mockCorrelationId, mockReferralDate, - mockAccountNumber, + mockParentAccountNumber, mockSavedSessionId, mockCrmCustomerId ); diff --git a/src/helpers/heritage-integration/order-helper.js b/src/helpers/heritage-integration/order-helper.js index 7cf3cc12b..010c39ec9 100644 --- a/src/helpers/heritage-integration/order-helper.js +++ b/src/helpers/heritage-integration/order-helper.js @@ -81,7 +81,7 @@ async function loadSession( savedSessionId, referralNumber, referralDate, - accountNumber, + parentAccountNumber, referralCorrelationId, isConceptInsurance ) { @@ -94,8 +94,8 @@ async function loadSession( savedSessionId: savedSessionId?.toString(), referralNumber, referralDate, - accountNumber, referralCorrelationId, + parentAccountNumber, isConceptInsurance, }, false @@ -116,7 +116,7 @@ async function saveSessionHelper() { referralNumber: savedSessionInfo.data.referralNumber?.toString(), referralCorrelationId: savedSessionInfo.data.referralCorrelationId, referralDate: savedSessionInfo.data.referralDate, - accountNumber: savedSessionInfo.data.accountNumber?.toString(), + parentAccountNumber: savedSessionInfo.data.parentAccountNumber?.toString(), savedSessionId: savedSessionInfo.data.savedSessionId, crmCustomerId: savedSessionInfo.data.crmCustomerId?.toString(), eon: savedSessionInfo.data.eon, diff --git a/src/helpers/heritage-integration/order-helper.spec.js b/src/helpers/heritage-integration/order-helper.spec.js index 97b162560..fab4a1532 100644 --- a/src/helpers/heritage-integration/order-helper.spec.js +++ b/src/helpers/heritage-integration/order-helper.spec.js @@ -142,7 +142,7 @@ describe("saveSession", () => { const mockReferralNumber = "2"; const mockCorrelationId = "55"; const mockReferralDate = "2022"; - const mockAccountNumber = "167132"; + const mockParentAccountNumber = "167132"; const mockSavedSessionId = "xxx-xxx-xxx"; const mockCrmCustomerId = "xxx-xxx-xxx"; @@ -150,7 +150,7 @@ describe("saveSession", () => { mockReferralNumber, mockCorrelationId, mockReferralDate, - mockAccountNumber, + mockParentAccountNumber, mockSavedSessionId, mockCrmCustomerId ); @@ -182,7 +182,7 @@ describe("saveSession", () => { referralNumber: mockReferralNumber, referralDate: mockReferralDate, referralCorrelationId: mockCorrelationId, - accountNumber: mockAccountNumber, + parentAccountNumber: mockParentAccountNumber, savedSessionId: mockSavedSessionId, crmCustomerId: mockCrmCustomerId, }, @@ -195,7 +195,7 @@ describe("saveSession", () => { const mockReferralNumber = 1566818; const mockReferralDate = "2022-03-15T10:56:24.597"; const mockReferralCorrelationId = "404d2b04-f86e-45c3-b373-127b6217b060"; - const mockAccountNumber = "167132"; + const mockParentAccountNumber = "167132"; const mockSavedSessionId = "xxx-xxx-xxx"; const mockCrmCustomerId = "xxx-xxx-xxx"; @@ -203,7 +203,7 @@ describe("saveSession", () => { mockReferralNumber, mockReferralCorrelationId, mockReferralDate, - mockAccountNumber, + mockParentAccountNumber, mockSavedSessionId, mockCrmCustomerId ); diff --git a/src/helpers/unit-test-helper.js b/src/helpers/unit-test-helper.js index c54bbf01a..9de0cf5a6 100644 --- a/src/helpers/unit-test-helper.js +++ b/src/helpers/unit-test-helper.js @@ -104,7 +104,7 @@ export function getMockOrderInfo( mockReferralNumber, mockCorrelationId, mockReferralDate, - accountNumber = "0", + parentAccountNumber = "0", savedSessionId, crmCustomerId ) { @@ -112,7 +112,7 @@ export function getMockOrderInfo( referralNumber: mockReferralNumber, referralCorrelationId: mockCorrelationId, referralDate: mockReferralDate, - accountNumber: accountNumber, + parentAccountNumber: parentAccountNumber, savedSessionId: savedSessionId, crmCustomerId: crmCustomerId, }; diff --git a/src/layouts/address-lookup/customer-questions/address-questions/address-questions.vue b/src/layouts/address-lookup/customer-questions/address-questions/address-questions.vue index c37e596ef..1769961b7 100644 --- a/src/layouts/address-lookup/customer-questions/address-questions/address-questions.vue +++ b/src/layouts/address-lookup/customer-questions/address-questions/address-questions.vue @@ -22,6 +22,7 @@ aria-live="polite">
@@ -32,6 +33,7 @@
{ // reset store after each test store.getters = { order: { - accountNumber: applicationConfig.CASH_ACCOUNT_NUMBER, + payment: { + parentAccountNumber: applicationConfig.CASH_PARENT_ACCOUNT_NUMBER, + }, }, payment: { insuranceCoverage: {}, diff --git a/src/layouts/quote/quote.vue b/src/layouts/quote/quote.vue index abd04b3dc..06b8ecb9a 100644 --- a/src/layouts/quote/quote.vue +++ b/src/layouts/quote/quote.vue @@ -184,13 +184,16 @@ export default { ); if (!this.isInsuranceSelected) { this.dispatchStoreAction( - this.storeActions.SAVE_ACCOUNT_NUMBER, - applicationConfig.CASH_ACCOUNT_NUMBER, + this.storeActions.SAVE_PARENT_ACCOUNT_NUMBER, + applicationConfig.CASH_PARENT_ACCOUNT_NUMBER, false ); } - if (this.$store.getters.order.accountNumber != applicationConfig.CASH_ACCOUNT_NUMBER) { + if ( + this.$store.getters.order.payment.parentAccountNumber != + applicationConfig.CASH_PARENT_ACCOUNT_NUMBER + ) { this.supportingItems = this.filterOutFees(this.supportingItems); } if (this.pricedGlassParts.length > 0) { diff --git a/src/layouts/quote/service-package-question/service-package-radio/service-package-radio.vue b/src/layouts/quote/service-package-question/service-package-radio/service-package-radio.vue index 59903d745..83bee2218 100644 --- a/src/layouts/quote/service-package-question/service-package-radio/service-package-radio.vue +++ b/src/layouts/quote/service-package-question/service-package-radio/service-package-radio.vue @@ -40,13 +40,6 @@ " :data-bs-target="'#' + getRouterLinkRouteFromCopy(copy)" aria-label="Modal window" /> - diff --git a/src/helpers/object-cloning-helper.js b/src/layouts/service-location/helpers/object-cloning-helper/object-cloning-helper.js similarity index 100% rename from src/helpers/object-cloning-helper.js rename to src/layouts/service-location/helpers/object-cloning-helper/object-cloning-helper.js diff --git a/src/helpers/object-cloning-helper.spec.js b/src/layouts/service-location/helpers/object-cloning-helper/object-cloning-helper.spec.js similarity index 100% rename from src/helpers/object-cloning-helper.spec.js rename to src/layouts/service-location/helpers/object-cloning-helper/object-cloning-helper.spec.js diff --git a/src/helpers/service-location-helper.js b/src/layouts/service-location/helpers/service-location-helper/service-location-helper.js similarity index 64% rename from src/helpers/service-location-helper.js rename to src/layouts/service-location/helpers/service-location-helper/service-location-helper.js index 41f4be147..f9529ccec 100644 --- a/src/helpers/service-location-helper.js +++ b/src/layouts/service-location/helpers/service-location-helper/service-location-helper.js @@ -1,8 +1,13 @@ import { storeActions } from "@/constants/store-actions"; import baseMixin from "@/mixins/base-mixin.js"; -export async function getPricedMobileFeePart(serviceZipCode) { - if (!serviceZipCode) { +export async function getPricedMobileFeePart( + serviceZipCode, + serviceType, + parentAccountNumber, + billToAccountNumber +) { + if (!serviceZipCode || !serviceType || !parentAccountNumber) { return Promise.resolve(null); } @@ -11,7 +16,11 @@ export async function getPricedMobileFeePart(serviceZipCode) { // Get the Mobile Fee Part const mobileFeePart = await baseMixin.methods.dispatchStoreAction( storeActions.GET_MOBILE_FEE_PART, - null, + { + serviceType: serviceType, + parentAccountNumber: parentAccountNumber, + billToAccountNumber: billToAccountNumber, + }, false ); @@ -21,7 +30,7 @@ export async function getPricedMobileFeePart(serviceZipCode) { { availableLineItems: [mobileFeePart.data], serviceZipCode: serviceZipCode, - ctu: zipCodeData.zipCodeCtu, + serviceZipCodeCtu: zipCodeData.zipCodeCtu, }, false ); diff --git a/src/helpers/service-location-helper.spec.js b/src/layouts/service-location/helpers/service-location-helper/service-location-helper.spec.js similarity index 79% rename from src/helpers/service-location-helper.spec.js rename to src/layouts/service-location/helpers/service-location-helper/service-location-helper.spec.js index 345e4c807..061fd6bcd 100644 --- a/src/helpers/service-location-helper.spec.js +++ b/src/layouts/service-location/helpers/service-location-helper/service-location-helper.spec.js @@ -48,10 +48,18 @@ describe("service-location-helper.js", () => { it("Should return null if no service zip code is passed in", async () => { // Arrange const serviceZipCode = null; + const serviceType = "Replace"; + const parentAccountNumber = 167132; + const billToAccountNumber = 1234; const expected = null; // Act - const result = await getPricedMobileFeePart(serviceZipCode); + const result = await getPricedMobileFeePart( + serviceZipCode, + serviceType, + parentAccountNumber, + billToAccountNumber + ); // Assert expect(result).toEqual(expected); @@ -60,6 +68,10 @@ describe("service-location-helper.js", () => { it("Should return the priced mobile fee part", async () => { // Arrange const serviceZipCode = "43235"; + const serviceType = "Replace"; + const parentAccountNumber = 167132; + const billToAccountNumber = 1234; + const expected = { partNumber: "MOBILE FEE", description: "MOBILE FEE", @@ -70,7 +82,12 @@ describe("service-location-helper.js", () => { }; // Act - const result = await getPricedMobileFeePart(serviceZipCode); + const result = await getPricedMobileFeePart( + serviceZipCode, + serviceType, + parentAccountNumber, + billToAccountNumber + ); // Assert expect(result).toEqual(expected); diff --git a/src/layouts/service-location/mobile-location-modal-questions/mobile-location-modal-questions.spec.js b/src/layouts/service-location/mobile-location-modal-questions/mobile-location-modal-questions.spec.js index d90f68b1f..ab0ba6573 100644 --- a/src/layouts/service-location/mobile-location-modal-questions/mobile-location-modal-questions.spec.js +++ b/src/layouts/service-location/mobile-location-modal-questions/mobile-location-modal-questions.spec.js @@ -247,6 +247,7 @@ describe("mobile-location-modal-questions.vue", () => { attachTo: document.body, }); wrapper.vm.$refs.MobileLocationModalWidget.closeModal = jest.fn(); + wrapper.vm.resetModalButtonStyle = jest.fn(); // Act wrapper.vm.internalModel = newMobileLocationQuestions; @@ -293,6 +294,7 @@ describe("mobile-location-modal-questions.vue", () => { }); wrapper.vm.internalModel = newMobileLocationQuestions; + wrapper.vm.resetModalButtonStyle = jest.fn(); // Act await wrapper.vm.setMobileLocation(); @@ -300,40 +302,6 @@ describe("mobile-location-modal-questions.vue", () => { // Assert expect(wrapper.vm.displayInvalidZipAlert).toBe(true); }); - - it("Should clear the internal model when resetModel is called", async () => { - // Arrange - const mobileLocationQuestions = { - addressQuestions: { - streetAddress: "555 Some St", - apartmentNumberOrBusinessName: "Apt 1", - city: "Funkytown", - state: "OH", - zipCode: "55555", - }, - isVehicleProtected: true, - serviceZipCode: "55555", - }; - - const { wrapper } = setupMocks({ - mixins: [mockMixin], - props: { - modelValue: mobileLocationQuestions, - }, - mountOptions: { - attachTo: document.body, - }, - }); - - // Act - wrapper.vm.resetModel(); - - // Assert - expect(wrapper.vm.internalModel.addressQuestions.streetAddress).toEqual(""); - expect(wrapper.vm.internalModel.addressQuestions.apartmentNumberOrBusinessName).toEqual(""); - expect(wrapper.vm.internalModel.addressQuestions.city).toEqual(""); - expect(wrapper.vm.internalModel.isVehicleProtected).toEqual(null); - }); }); function setupMocks({ mountOptions, mixins, props, isShallowMount = true }) { diff --git a/src/layouts/service-location/mobile-location-modal-questions/mobile-location-modal-questions.vue b/src/layouts/service-location/mobile-location-modal-questions/mobile-location-modal-questions.vue index 598af5438..f504eeb30 100644 --- a/src/layouts/service-location/mobile-location-modal-questions/mobile-location-modal-questions.vue +++ b/src/layouts/service-location/mobile-location-modal-questions/mobile-location-modal-questions.vue @@ -1,47 +1,51 @@