From fb783ee7ddede8ae01936db4a6a1f60c8809000b Mon Sep 17 00:00:00 2001 From: CarlNation <32103961+CarlNation@users.noreply.github.com> Date: Wed, 25 Oct 2023 15:09:18 -0400 Subject: [PATCH 1/6] CSR-1392 use router params instead of store to save pia error --- src/constants/store-actions.js | 1 - src/constants/store-mutations.js | 1 - .../payment-method/payment-method.spec.js | 5 --- src/layouts/payment-method/payment-method.vue | 11 ++---- .../payment-pia-return/payment-pia-return.vue | 34 ++++++++----------- src/layouts/payment/payment.vue | 4 --- src/router/router-constants/router-params.js | 1 + src/store/index.js | 7 ---- 8 files changed, 19 insertions(+), 45 deletions(-) diff --git a/src/constants/store-actions.js b/src/constants/store-actions.js index 64e6df3aa..ee67ff77d 100644 --- a/src/constants/store-actions.js +++ b/src/constants/store-actions.js @@ -90,7 +90,6 @@ const storeActions = { SAVE_CUSTOMER_DETAILS: "saveCustomerDetails", SAVE_SERVICE_LOCATION_TECH_NOTES: "saveServiceLocationTechNotes", SAVE_WORK_ORDER_FLAG: "saveWorkOrderFlag", - SAVE_PIA_ERROR_CODE: "savePiaErrorCode", SAVE_PIA_WORK_ORDER: "savePiaWorkOrder", SAVE_CCTOKEN: "saveCCToken", SAVE_PAYPAL_TOKEN: "savePaypalToken", diff --git a/src/constants/store-mutations.js b/src/constants/store-mutations.js index 9e2e30a14..ca0afadf2 100644 --- a/src/constants/store-mutations.js +++ b/src/constants/store-mutations.js @@ -1,7 +1,6 @@ const storeMutations = { // PAYMENT MUTATIONS UPDATE_WORK_ORDER_FLAG: "updateWorkOrderFlag", - UPDATE_PIA_ERROR_CODE: "updatePiaErrorCode", UPDATE_PIA_WORK_ORDER: "updatePiaWorkOrder", UPDATE_CCTOKEN: "updateCCToken", UPDATE_PAYPAL_TOKEN: "updatePaypalToken", diff --git a/src/layouts/payment-method/payment-method.spec.js b/src/layouts/payment-method/payment-method.spec.js index 803f10829..88112ba37 100644 --- a/src/layouts/payment-method/payment-method.spec.js +++ b/src/layouts/payment-method/payment-method.spec.js @@ -48,11 +48,6 @@ function setupMocks() { store.getters = { damage: {}, lineItems: [], - order: { - payment: { - piaErrorCode: "", - }, - }, }; const mountOptions = getMountOptions({ diff --git a/src/layouts/payment-method/payment-method.vue b/src/layouts/payment-method/payment-method.vue index f72784abb..0c966fafb 100644 --- a/src/layouts/payment-method/payment-method.vue +++ b/src/layouts/payment-method/payment-method.vue @@ -35,7 +35,7 @@ @@ -275,7 +275,6 @@ export default { }); }, backButtonAction() { - this.dispatchStoreAction(storeActions.SAVE_PIA_ERROR_CODE, null, false); this.$router.navigateWithoutSaving(this.navigationScenarios.CLICKED_BACK, this.$route); }, async forwardButtonAction() { @@ -300,7 +299,6 @@ export default { this.piaSetup(this.paymentMethod); break; default: - this.dispatchStoreAction(storeActions.SAVE_PIA_ERROR_CODE, null, false); this.dispatchStoreAction(this.storeActions.SAVE_WORK_ORDER_FLAG, true, false); await submitWorkOrder({ pageNameToLog: "payment-method" }); this.$router.navigateWithoutSaving( @@ -315,9 +313,6 @@ export default { // since we're leaving the site for pia, clear any save session promises that we will not be able to resolve when we return await this.dispatchStoreAction(storeActions.RESET_SAVE_SESSION_PROMISE); - // make sure pia error codes are reset - this.dispatchStoreAction(storeActions.SAVE_PIA_ERROR_CODE, null, false); - // if we don't have a work order in delete substatus, set the flag and submit if (!store.getters.order.workOrderNumber) { this.dispatchStoreAction(storeActions.SAVE_PIA_WORK_ORDER, true); @@ -366,8 +361,8 @@ export default { return this.paymentMethodInternalModel; }, - displayPiaAlert() { - return store.getters.order.payment.piaErrorCode ? true : false; + shouldDisplayPiaAlert() { + return this.$route.params[this.routerParams.DISPLAY_PIA_ALERT]; }, }, watch: { diff --git a/src/layouts/payment-pia-return/payment-pia-return.vue b/src/layouts/payment-pia-return/payment-pia-return.vue index aa9340995..4128ef9d1 100644 --- a/src/layouts/payment-pia-return/payment-pia-return.vue +++ b/src/layouts/payment-pia-return/payment-pia-return.vue @@ -14,6 +14,7 @@ import baseMixin from "@/mixins/base-mixin.js"; import loadingModal from "@/fmg-components/loading-modal/loading-modal.vue"; import { Form } from "vee-validate"; import { paymentMethods } from "@/constants/payment-method-constants"; +import { routerParams } from "@/router/router-constants/router-params"; export default { name: "payment-pia-return", @@ -23,12 +24,12 @@ export default { if (piaError) { console.log("Error during payment: " + piaError); - baseMixin.methods.dispatchStoreAction( - storeActions.SAVE_PIA_ERROR_CODE, - piaError, - false + this.$router.navigateWithoutSaving( + this.navigationScenarios.PIA_ERROR, + this.$route, + {}, + { [routerParams.DISPLAY_PIA_ALERT]: true } ); - this.$router.navigateWithoutSaving(this.navigationScenarios.PIA_ERROR, this.$route); } else { switch (store.getters.order.payment.piaType) { case paymentMethods.CREDIT_CARD: @@ -41,14 +42,11 @@ export default { default: var msg = "Unknown Pia type: " + store.getters.order.payment.piaType; console.log(msg); - baseMixin.methods.dispatchStoreAction( - storeActions.SAVE_PIA_ERROR_CODE, - msg, - false - ); this.$router.navigateWithoutSaving( this.navigationScenarios.PIA_ERROR, - this.$route + this.$route, + {}, + { [routerParams.DISPLAY_PIA_ALERT]: true } ); } } @@ -60,7 +58,6 @@ export default { async processPaypalResponse() { const token = getQuerystringParameter(queryStrings.TOKEN); const payerId = getQuerystringParameter(queryStrings.PAYERID); - baseMixin.methods.dispatchStoreAction(storeActions.SAVE_PIA_ERROR_CODE, null, false); baseMixin.methods.dispatchStoreAction(storeActions.SAVE_WORK_ORDER_FLAG, true, false); baseMixin.methods.dispatchStoreAction(storeActions.SAVE_PAYPAL_TOKEN, token, false); @@ -68,7 +65,6 @@ export default { }, async processCreditCardResponse() { const subscriptionID = getQuerystringParameter(queryStrings.SUBSCRIPTIONID); - baseMixin.methods.dispatchStoreAction(storeActions.SAVE_PIA_ERROR_CODE, null, false); baseMixin.methods.dispatchStoreAction(storeActions.SAVE_WORK_ORDER_FLAG, true, false); const referralSeqNum = getQuerystringParameter(queryStrings.REFERRAL_SEQ_NUM); @@ -79,12 +75,12 @@ export default { " " + store.getters.order.referralSequenceNumber ); - baseMixin.methods.dispatchStoreAction( - storeActions.SAVE_PIA_ERROR_CODE, - "unknown error", - false - ); - this.$router.navigateWithoutSaving(this.navigationScenarios.PIA_ERROR, this.$route); + this.$router.navigateWithoutSaving( + this.navigationScenarios.PIA_ERROR, + this.$route, + {}, + { [routerParams.DISPLAY_PIA_ALERT]: true } + ); } else { const expMonth = getQuerystringParameter(queryStrings.CARD_EXPIRATION_MONTH); const expYear = getQuerystringParameter(queryStrings.CARD_EXPIRATION_YEAR); diff --git a/src/layouts/payment/payment.vue b/src/layouts/payment/payment.vue index 3750039f7..eb667a7ba 100644 --- a/src/layouts/payment/payment.vue +++ b/src/layouts/payment/payment.vue @@ -246,8 +246,6 @@ export default { return items[1]; } - // no work order, set pia error and return - this.dispatchStoreAction(storeActions.SAVE_PIA_ERROR_CODE, "NO WORK ORDER", false); this.backButtonAction(); }, getInvoiceNumber() { @@ -255,8 +253,6 @@ export default { return store.getters.order.workOrderNumber.replace("-", ""); } - // no work order, set pia error and return - this.dispatchStoreAction(storeActions.SAVE_PIA_ERROR_CODE, "NO WORK ORDER", false); this.backButtonAction(); }, getAddress1() { diff --git a/src/router/router-constants/router-params.js b/src/router/router-constants/router-params.js index 3bebdc33e..ae7b88283 100644 --- a/src/router/router-constants/router-params.js +++ b/src/router/router-constants/router-params.js @@ -1,5 +1,6 @@ const routerParams = { DISPLAY_VEHICLE_CHANGE_ALERT: "displayVehicleChangeAlert", + DISPLAY_PIA_ALERT: "displayPiaAlert", }; export { routerParams }; diff --git a/src/store/index.js b/src/store/index.js index 87221dbc3..8094e0f8d 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -97,7 +97,6 @@ const getDefaultState = () => { parentAccountNumber: 0, isPia: null, piaType: null, - piaErrorCode: null, inactivePromos: null, paypalToken: null, ccToken: { @@ -249,9 +248,6 @@ export const mutations = { updatePiaType(state, piaType) { state.order.payment.piaType = piaType; }, - updatePiaErrorCode(state, piaErrorCode) { - state.order.payment.piaErrorCode = piaErrorCode; - }, updatePiaWorkOrder(state, piaWorkOrder) { state.order.createDeleteStatusWorkOrderForPia = piaWorkOrder; }, @@ -1779,9 +1775,6 @@ export const actions = { saveWorkOrderFlag(context, submitAfterSave) { context.commit(storeMutations.UPDATE_WORK_ORDER_FLAG, submitAfterSave); }, - savePiaErrorCode(context, piaErrorCode) { - context.commit(storeMutations.UPDATE_PIA_ERROR_CODE, piaErrorCode); - }, savePiaWorkOrder(context, piaWorkOrder) { context.commit(storeMutations.UPDATE_PIA_WORK_ORDER, piaWorkOrder); }, From f6bdd4a2724512dec65be0e103f20bb333f2b487 Mon Sep 17 00:00:00 2001 From: CarlNation <32103961+CarlNation@users.noreply.github.com> Date: Wed, 25 Oct 2023 15:19:19 -0400 Subject: [PATCH 2/6] CSR-1392 unused parm passed to setupPia. --- src/layouts/payment-method/payment-method.vue | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/src/layouts/payment-method/payment-method.vue b/src/layouts/payment-method/payment-method.vue index e661a58b3..188078781 100644 --- a/src/layouts/payment-method/payment-method.vue +++ b/src/layouts/payment-method/payment-method.vue @@ -288,26 +288,19 @@ export default { await this.dispatchStoreAction(storeActions.SAVE_PROMOS, this.lineItems.promos, false); - switch (this.paymentMethod) { - case paymentMethods.CREDIT_CARD: - this.setupPia(this.paymentMethod); - break; - case paymentMethods.PAYPAL: - this.setupPia(this.paymentMethod); - break; - case paymentMethods.AFTERPAY: - this.setupPia(this.paymentMethod); - break; - default: - this.dispatchStoreAction(this.storeActions.SAVE_WORK_ORDER_FLAG, true, false); + if (this.paymentMethod == paymentMethods.LATER) { + this.dispatchStoreAction(this.storeActions.SAVE_WORK_ORDER_FLAG, true, false); await submitWorkOrder({ pageNameToLog: "payment-method" }); this.$router.navigateWithoutSaving( this.navigationScenarios.CLICKED_FORWARD, this.$route ); } + else { + this.setupPia(); + } }, - async setupPia(payNowType) { + async setupPia() { this.$refs.loadingModal.showModal(); // since we're leaving the site for pia, clear any save session promises that we will not be able to resolve when we return From 67fe2e0177317acb3b53919a89a4633070f81442 Mon Sep 17 00:00:00 2001 From: CarlNation <32103961+CarlNation@users.noreply.github.com> Date: Wed, 25 Oct 2023 16:55:31 -0400 Subject: [PATCH 3/6] CSR-1392 move promise reset to after we await all save sessions (submitWOrkOrder) --- src/layouts/payment-method/payment-method.vue | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/layouts/payment-method/payment-method.vue b/src/layouts/payment-method/payment-method.vue index 188078781..8c445597e 100644 --- a/src/layouts/payment-method/payment-method.vue +++ b/src/layouts/payment-method/payment-method.vue @@ -303,14 +303,12 @@ export default { async setupPia() { this.$refs.loadingModal.showModal(); - // since we're leaving the site for pia, clear any save session promises that we will not be able to resolve when we return - await this.dispatchStoreAction(storeActions.RESET_SAVE_SESSION_PROMISE); - // if we don't have a work order in delete substatus, set the flag and submit if (!store.getters.order.workOrderNumber) { this.dispatchStoreAction(storeActions.SAVE_PIA_WORK_ORDER, true); await submitWorkOrder({ pageNameToLog: "payment-method" }); this.dispatchStoreAction(storeActions.SAVE_PIA_WORK_ORDER, false); + this.dispatchStoreAction(storeActions.RESET_SAVE_SESSION_PROMISE); } this.$router.navigateWithoutSaving( From 7840e90dc5c69f7fac4d33f990715786522bd3fb Mon Sep 17 00:00:00 2001 From: CarlNation <32103961+CarlNation@users.noreply.github.com> Date: Wed, 25 Oct 2023 17:00:29 -0400 Subject: [PATCH 4/6] CSR-1392 prettier --- src/layouts/payment-method/payment-method.vue | 13 ++++++------- .../payment-pia-return/payment-pia-return.vue | 10 +++++----- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/src/layouts/payment-method/payment-method.vue b/src/layouts/payment-method/payment-method.vue index 8c445597e..63dcf2843 100644 --- a/src/layouts/payment-method/payment-method.vue +++ b/src/layouts/payment-method/payment-method.vue @@ -290,13 +290,12 @@ export default { if (this.paymentMethod == paymentMethods.LATER) { this.dispatchStoreAction(this.storeActions.SAVE_WORK_ORDER_FLAG, true, false); - await submitWorkOrder({ pageNameToLog: "payment-method" }); - this.$router.navigateWithoutSaving( - this.navigationScenarios.CLICKED_FORWARD, - this.$route - ); - } - else { + await submitWorkOrder({ pageNameToLog: "payment-method" }); + this.$router.navigateWithoutSaving( + this.navigationScenarios.CLICKED_FORWARD, + this.$route + ); + } else { this.setupPia(); } }, diff --git a/src/layouts/payment-pia-return/payment-pia-return.vue b/src/layouts/payment-pia-return/payment-pia-return.vue index 4128ef9d1..3eb819810 100644 --- a/src/layouts/payment-pia-return/payment-pia-return.vue +++ b/src/layouts/payment-pia-return/payment-pia-return.vue @@ -76,11 +76,11 @@ export default { store.getters.order.referralSequenceNumber ); this.$router.navigateWithoutSaving( - this.navigationScenarios.PIA_ERROR, - this.$route, - {}, - { [routerParams.DISPLAY_PIA_ALERT]: true } - ); + this.navigationScenarios.PIA_ERROR, + this.$route, + {}, + { [routerParams.DISPLAY_PIA_ALERT]: true } + ); } else { const expMonth = getQuerystringParameter(queryStrings.CARD_EXPIRATION_MONTH); const expYear = getQuerystringParameter(queryStrings.CARD_EXPIRATION_YEAR); From 6749be0df4df1dd4cfacd66efcbb96faf0518af0 Mon Sep 17 00:00:00 2001 From: CarlNation <32103961+CarlNation@users.noreply.github.com> Date: Thu, 26 Oct 2023 06:18:17 -0400 Subject: [PATCH 5/6] CSR-1392 fix tests --- src/layouts/payment-method/payment-method.spec.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/layouts/payment-method/payment-method.spec.js b/src/layouts/payment-method/payment-method.spec.js index 88112ba37..0f0c3bad4 100644 --- a/src/layouts/payment-method/payment-method.spec.js +++ b/src/layouts/payment-method/payment-method.spec.js @@ -48,9 +48,15 @@ function setupMocks() { store.getters = { damage: {}, lineItems: [], + order: { + payment: { + isPia: false + }, + }, }; const mountOptions = getMountOptions({ + route: { query: {}, params: {} }, router: { navigate: jest.fn(), navigateWithSaving: jest.fn(), From 3ad9cfd6594db58cd12c824fab341461ab95baae Mon Sep 17 00:00:00 2001 From: CarlNation <32103961+CarlNation@users.noreply.github.com> Date: Thu, 26 Oct 2023 06:21:32 -0400 Subject: [PATCH 6/6] CSR-1392 prettier --- src/layouts/payment-method/payment-method.spec.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/layouts/payment-method/payment-method.spec.js b/src/layouts/payment-method/payment-method.spec.js index 0f0c3bad4..8cba373de 100644 --- a/src/layouts/payment-method/payment-method.spec.js +++ b/src/layouts/payment-method/payment-method.spec.js @@ -50,7 +50,7 @@ function setupMocks() { lineItems: [], order: { payment: { - isPia: false + isPia: false, }, }, };