diff --git a/src/helpers/heritage-integration/order-helper.js b/src/helpers/heritage-integration/order-helper.js index 07c469ae8..555c41325 100644 --- a/src/helpers/heritage-integration/order-helper.js +++ b/src/helpers/heritage-integration/order-helper.js @@ -57,7 +57,7 @@ export async function saveSession({ pageNameToLog, shouldAwaitSaveSessionQueue = false, submitAfterSave = false, - createDeleteStatusWorkOrderForPia = false, + createUnscheduledStatusWorkOrderForPIA = false, }) { var saveSessionPromise; if (store.getters.applicationUser.saveSessionPromise) { @@ -67,7 +67,7 @@ export async function saveSession({ return saveSessionHelper( pageNameToLog, submitAfterSave, - createDeleteStatusWorkOrderForPia + createUnscheduledStatusWorkOrderForPIA ); }); } else { @@ -75,7 +75,7 @@ export async function saveSession({ saveSessionPromise = saveSessionHelper( pageNameToLog, submitAfterSave, - createDeleteStatusWorkOrderForPia + createUnscheduledStatusWorkOrderForPIA ); } store.commit(storeMutations.UPDATE_SAVE_SESSION_PROMISE, saveSessionPromise); @@ -88,13 +88,13 @@ export async function saveSession({ export async function submitWorkOrder({ pageNameToLog, submitAfterSave = false, - createDeleteStatusWorkOrderForPia = false, + createUnscheduledStatusWorkOrderForPIA = false, }) { await saveSession({ pageNameToLog: pageNameToLog, shouldAwaitSaveSessionQueue: true, submitAfterSave: submitAfterSave, - createDeleteStatusWorkOrderForPia: createDeleteStatusWorkOrderForPia, + createUnscheduledStatusWorkOrderForPIA: createUnscheduledStatusWorkOrderForPIA, }); } @@ -139,13 +139,13 @@ async function loadSession( async function saveSessionHelper( pageNameToLog, submitAfterSave = false, - createDeleteStatusWorkOrderForPia = false + createUnscheduledStatusWorkOrderForPIA = false ) { const savedSessionInfo = await baseMixin.methods.dispatchStoreActionWithLogging( storeActions.SAVE_SESSION, { submitAfterSave: submitAfterSave, - createDeleteStatusWorkOrderForPia: createDeleteStatusWorkOrderForPia, + createUnscheduledStatusWorkOrderForPIA: createUnscheduledStatusWorkOrderForPIA, }, pageNameToLog ); diff --git a/src/helpers/heritage-integration/order-helper.spec.js b/src/helpers/heritage-integration/order-helper.spec.js index daf9af6bb..ac8d08e9f 100644 --- a/src/helpers/heritage-integration/order-helper.spec.js +++ b/src/helpers/heritage-integration/order-helper.spec.js @@ -179,7 +179,7 @@ describe("saveSession", () => { // Assert expect(mocks.baseMixin.methods.dispatchStoreActionWithLogging).toHaveBeenCalledWith( storeActions.SAVE_SESSION, - { createDeleteStatusWorkOrderForPia: false, submitAfterSave: false }, + { createUnscheduledStatusWorkOrderForPIA: false, submitAfterSave: false }, "test" ); expect(mocks.baseMixin.methods.dispatchStoreAction).toHaveBeenCalledWith( @@ -287,7 +287,7 @@ describe("submitWorkOrder", () => { // Assert expect(mocks.baseMixin.methods.dispatchStoreActionWithLogging).toHaveBeenCalledWith( storeActions.SAVE_SESSION, - { createDeleteStatusWorkOrderForPia: false, submitAfterSave: true }, + { createUnscheduledStatusWorkOrderForPIA: false, submitAfterSave: true }, "test" ); expect(mocks.baseMixin.methods.dispatchStoreAction).toHaveBeenCalledWith( diff --git a/src/layouts/payment-method/payment-method.vue b/src/layouts/payment-method/payment-method.vue index de1c2670a..9b7222bfc 100644 --- a/src/layouts/payment-method/payment-method.vue +++ b/src/layouts/payment-method/payment-method.vue @@ -551,23 +551,21 @@ export default { }, async setupPia() { this.$refs.loadingModal.showModal(); - - // if we don't have a work order in delete substatus, set the flag and submit. // we need a work order number for pia so we can pass it to safeliteHop. - if (!store.getters.order.workOrderNumber) { - try { - await submitWorkOrder({ - pageNameToLog: "payment-method", - submitAfterSave: false, - createDeleteStatusWorkOrderForPia: true, - }); - } catch (error) { - console.log("error: response from pia submit work order:" + error.message); - this.dispatchStoreAction(storeActions.RESET_SAVE_SESSION_PROMISE); - this.$route.query[queryStrings.DISPLAY_PIA_ALERT] = true; - return; - } + // this will create one in delete substatus. + try { + await submitWorkOrder({ + pageNameToLog: "payment-method", + submitAfterSave: false, + createUnscheduledStatusWorkOrderForPIA: true, + }); + } catch (error) { + console.log("error: response from pia submit work order:" + error.message); + this.dispatchStoreAction(storeActions.RESET_SAVE_SESSION_PROMISE); + this.$route.query[queryStrings.DISPLAY_PIA_ALERT] = true; + return; } + this.dispatchStoreAction(storeActions.RESET_SAVE_SESSION_PROMISE); this.$router.navigateWithoutSaving( this.navigationScenarios.CLICKED_PAY_NOW, @@ -594,10 +592,10 @@ export default { ); }, shouldHideRecalibration() { - const recalSettingValue = - this.getSettingValue(experimentSettings.RECAL_PRICE_REMOVE)?.toLowerCase() === - "true"; - return recalSettingValue; + return ( + this.getSettingValue(experimentSettings.RECAL_PRICE_REMOVE).toLowerCase() === "true" && + this.isRecalibrationOnOrder + ); }, showApplePay() { return baseMixin.methods.showApplePay(); diff --git a/src/layouts/service-zip/service-zip.vue b/src/layouts/service-zip/service-zip.vue index 34efac1a1..a60eb4aff 100644 --- a/src/layouts/service-zip/service-zip.vue +++ b/src/layouts/service-zip/service-zip.vue @@ -213,7 +213,7 @@ export default { const supportingItemsPromise = await this.dispatchStoreActionWithLogging( storeActions.GET_SUPPORTING_ITEMS, null, - "estimate" + "service-zip" ); const promiseResultMap = [ @@ -232,7 +232,7 @@ export default { ); // call saveSession here - navigateWithSaving saves too late in the flow - await saveSession({ pageNameToLog: "estimate" }); + await saveSession({ pageNameToLog: "service-zip" }); return this.$router.navigateWithSaving( this.navigationScenarios.CLICKED_FORWARD_WITH_NO_QUESTIONS, this.$route diff --git a/src/store/index.js b/src/store/index.js index a724d26c1..c0cb2e0e7 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -109,6 +109,7 @@ const getDefaultState = () => { insuranceCoverage: { isVerified: null, coverageStatus: null, + coverageSubStatus: null, coverageType: null, coverageVerificationType: null, }, @@ -690,6 +691,8 @@ export const mutations = { state.order.payment.insuranceCoverage.coverageStatus = coverageStatusValue( sessionInformation?.order.insuranceCoverage.coverageStatus ); + state.order.payment.insuranceCoverage.coverageSubStatus = + sessionInformation?.order.insuranceCoverage.coverageSubStatus; state.order.payment.insuranceCoverage.coverageType = coverageTypeValue( sessionInformation?.order.insuranceCoverage.coverageType ); @@ -1534,9 +1537,12 @@ export const actions = { ? context.getters.payment.billToAccountNumber : applicationConfig.CASH_DEFAULT_BILL_TO_ACCOUNT_NUMBER; + const covStatus = context.getters.payment?.insuranceCoverage?.coverageStatus; + const covSubStatus = context.getters.payment?.insuranceCoverage?.coverageSubStatus; + return globalMethods.callHttpClient({ method: endpoints.GetMobileFeePart.method, - endpoint: `${endpoints.GetMobileFeePart.url}/${damageType}/${parentAccountNumber}/${billToAccountNumber}`, + endpoint: `${endpoints.GetMobileFeePart.url}/${damageType}/${parentAccountNumber}/${billToAccountNumber}/${covStatus}/${covSubStatus}`, logApiCall: true, pageNameToLog: pageNameToLog, }); @@ -1818,8 +1824,8 @@ export const actions = { const lineItems = context.state.order.lineItems; const submitAfterSave = payload?.submitAfterSave === "true"; - const createDeleteStatusWorkOrderForPia = - payload?.createDeleteStatusWorkOrderForPia === "true"; + const createUnscheduledStatusWorkOrderForPIA = + payload?.createUnscheduledStatusWorkOrderForPIA === "true"; // create a new array to avoid mutating state const newGlassToReplace = convertGlassPieceNamingForApi(damage.glassToReplace); @@ -1954,7 +1960,7 @@ export const actions = { referralNumber: order.referralNumber?.toString(), referralSequenceNumber: order.referralSequenceNumber, eon: order.eon, - createDeleteStatusWorkOrderForPia: createDeleteStatusWorkOrderForPia, + createUnscheduledStatusWorkOrderForPIA: createUnscheduledStatusWorkOrderForPIA, lockToken: order.lockToken, isRecalAckOptIn: order.isRecalAckOptIn, },