diff --git a/src/iss-components/cart-dropdown/cart-dropdown.spec.js b/src/iss-components/cart-dropdown/cart-dropdown.spec.js index fc09a48e..5d125a0b 100644 --- a/src/iss-components/cart-dropdown/cart-dropdown.spec.js +++ b/src/iss-components/cart-dropdown/cart-dropdown.spec.js @@ -42,13 +42,7 @@ function getMountedComponent(mainInitialState = {}, initialData = {}, propsData describe('cart-dropdown component', () => { test('initial data rendered as expected', () => { // Arrange - const { wrapper } = getMountedComponent({ - order: { - lineItems: { - supportingItems: [] - } - } - }); + const { wrapper } = getMountedComponent({}); // Assert expect(wrapper.vm.$data).toMatchSnapshot(); @@ -239,13 +233,9 @@ describe('cart-dropdown component', () => { // Arrange const storeData = { order: { - payment: { - insuranceCoverage: { - coverageStatus: coverageStatuses.NO_COMP - } - }, policy: { - isITAC: isItac + isITAC: isItac, + noCoverage: true, } } }; @@ -285,13 +275,9 @@ describe('cart-dropdown component', () => { // Arrange const storeData = { order: { - payment: { - insuranceCoverage: { - coverageStatus: coverageStatuses.PENDING - } - }, policy: { - isITAC: false + isITAC: false, + noCoverage: false } } }; @@ -309,13 +295,9 @@ describe('cart-dropdown component', () => { // Arrange const storeData = { order: { - payment: { - insuranceCoverage: { - coverageStatus: coverageStatuses.NO_COMP - } - }, policy: { - isITAC: false + isITAC: false, + noCoverage: true, }, currentDeductible: null } @@ -378,13 +360,9 @@ describe('cart-dropdown component', () => { // Arrange const storeData = { order: { - payment: { - insuranceCoverage: { - coverageStatus: coverageStatuses.VERIFIED - } - }, policy: { - isITAC: false + isITAC: false, + noCoverage: false }, currentDeductible: null } @@ -526,13 +504,9 @@ describe('cart-dropdown component', () => { // Arrange const storeData = { order: { - payment: { - insuranceCoverage: { - coverageStatus: coverageStatuses.NO_COMP - } - }, policy: { - isITAC: false + isITAC: false, + noCoverage: true }, currentDeductible: 321 } @@ -579,7 +553,7 @@ describe('cart-dropdown component', () => { test('Shows recycle fee when preset in supported items', () => { // Arrange const reference = '#recycle-fee-item'; - const {wrapper} = getMountedComponent({ + const { wrapper } = getMountedComponent({ order: { lineItems: { supportingItems: [{ @@ -599,7 +573,7 @@ describe('cart-dropdown component', () => { test('Hides recycle fee when not in supported items', () => { // Arrange const reference = '#recycle-fee-item'; - const {wrapper} = getMountedComponent({ + const { wrapper } = getMountedComponent({ order: { lineItems: { supportingItems: [] diff --git a/src/iss-components/cart-dropdown/cart-dropdown.vue b/src/iss-components/cart-dropdown/cart-dropdown.vue index 9c4fe1a4..c4dab0dd 100644 --- a/src/iss-components/cart-dropdown/cart-dropdown.vue +++ b/src/iss-components/cart-dropdown/cart-dropdown.vue @@ -45,9 +45,9 @@
+ class="cart-item" + v-if="mobileFeeCartItem">
{{ mobileFeeCartItem.name }} @@ -57,9 +57,9 @@
+ class="cart-item cart-gray" + v-if="recycleFeeCartItem">
@@ -199,7 +199,7 @@ export default { recycleFeeCartItem() { return this.getCartItem( this.getCmsContent(this.widget.recycleFee, widgetFields.TEXT_BLOCK_WIDGET.TEXT), - this.mainStore.order.lineItems.supportingItems.find((lineItem) => lineItem.partType === partTypeStrings.REPLACE_FEE) + this.mainStore.order.lineItems.supportingItems?.find((lineItem) => lineItem.partType === partTypeStrings.REPLACE_FEE) ); }, mobileFeeCartItem() { diff --git a/src/layouts/service-location/service-location.vue b/src/layouts/service-location/service-location.vue index 2f503879..8d1cfa12 100644 --- a/src/layouts/service-location/service-location.vue +++ b/src/layouts/service-location/service-location.vue @@ -343,7 +343,10 @@ export default { let provider = this.selectedProvider; this.mainStore.updateMobileFee(null); if (this.isMobileLocationDisplayed) { - this.mainStore.updateMobileFee(this.mobileFeePart); + if (this.mainStore.isNoComp || this.mainStore.isITAC) { + this.mainStore.updateMobileFee(this.mobileFeePart); + } + provider = { providerNumber: this.mobileProviderNumber, address: { diff --git a/src/mixins/base-mixin.js b/src/mixins/base-mixin.js index 3816d5c2..53f316ee 100644 --- a/src/mixins/base-mixin.js +++ b/src/mixins/base-mixin.js @@ -67,7 +67,7 @@ export default { }); }, getAmountDue(lineItems) { - if (!useMainStore().isNoComp && !useMainStore().policy.isITAC) { + if (!useMainStore().isNoComp && !useMainStore().isITAC) { return useMainStore().order.currentDeductible; } diff --git a/src/store/index.js b/src/store/index.js index 437ef866..44e95212 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -21,6 +21,7 @@ import { noCoverageForSelectedVehicle, repairWaivedForSelectedVehicle } from '@/helpers/policy-vehicle-helper'; +import partTypeStrings from '@/constants/part-type-strings'; const storeId = 'main'; @@ -260,7 +261,8 @@ export const useMainStore = defineStore({ isClaimRegistrationRequired: (state) => state.issConfig.isClaimRegistrationRequired, isClaimAlreadyRegistered: (state) => state.order.payment.insuranceCoverage.claimNumber !== null, isBailout: (state) => state.applicationUser.pageData[issPageValues.BAILOUT_PAGE] != null, - isNoComp: (state) => state.order.payment.insuranceCoverage.coverageStatus === coverageStatuses.NO_COMP, + isNoComp: (state) => !!state.order.policy.noCoverage, + isITAC: (state) => !!state.order.policy.isITAC, isVerifiedCoverageStatus: (state) => state.order.payment.insuranceCoverage.coverageStatus === coverageStatuses.VERIFIED, eventBusItem: (state) => (eventCategory, eventSubCategory) => { const matchedEvent = state.applicationUser.eventBus.find(({ category, subCategory }) => category === eventCategory && subCategory === eventSubCategory); @@ -1533,7 +1535,17 @@ export const useMainStore = defineStore({ }, updateSupportingItems(partsData) { - this.order.lineItems.supportingItems = partsData; + if (partsData == null) { + this.order.lineItems.supportingItems = partsData; + return; + } + + let parts = partsData; + if (!this.isNoComp && !this.isITAC) { + parts = parts.filter((i) => i.partNumber !== partTypeStrings.RECYCLE_FEE); + } + + this.order.lineItems.supportingItems = parts; }, updateVaps(partsData) {