Merge pull request #1457 from Safelite/feature/CSR-1392

Feature/csr 1392
This commit is contained in:
CarlNation 2023-10-26 06:26:48 -04:00 committed by GitHub
commit 6cffd41fa8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 31 additions and 61 deletions

View file

@ -90,7 +90,6 @@ const storeActions = {
SAVE_CUSTOMER_DETAILS: "saveCustomerDetails", SAVE_CUSTOMER_DETAILS: "saveCustomerDetails",
SAVE_SERVICE_LOCATION_TECH_NOTES: "saveServiceLocationTechNotes", SAVE_SERVICE_LOCATION_TECH_NOTES: "saveServiceLocationTechNotes",
SAVE_WORK_ORDER_FLAG: "saveWorkOrderFlag", SAVE_WORK_ORDER_FLAG: "saveWorkOrderFlag",
SAVE_PIA_ERROR_CODE: "savePiaErrorCode",
SAVE_PIA_WORK_ORDER: "savePiaWorkOrder", SAVE_PIA_WORK_ORDER: "savePiaWorkOrder",
SAVE_CCTOKEN: "saveCCToken", SAVE_CCTOKEN: "saveCCToken",
SAVE_PAYPAL_TOKEN: "savePaypalToken", SAVE_PAYPAL_TOKEN: "savePaypalToken",

View file

@ -1,7 +1,6 @@
const storeMutations = { const storeMutations = {
// PAYMENT MUTATIONS // PAYMENT MUTATIONS
UPDATE_WORK_ORDER_FLAG: "updateWorkOrderFlag", UPDATE_WORK_ORDER_FLAG: "updateWorkOrderFlag",
UPDATE_PIA_ERROR_CODE: "updatePiaErrorCode",
UPDATE_PIA_WORK_ORDER: "updatePiaWorkOrder", UPDATE_PIA_WORK_ORDER: "updatePiaWorkOrder",
UPDATE_CCTOKEN: "updateCCToken", UPDATE_CCTOKEN: "updateCCToken",
UPDATE_PAYPAL_TOKEN: "updatePaypalToken", UPDATE_PAYPAL_TOKEN: "updatePaypalToken",

View file

@ -50,12 +50,13 @@ function setupMocks() {
lineItems: [], lineItems: [],
order: { order: {
payment: { payment: {
piaErrorCode: "", isPia: false,
}, },
}, },
}; };
const mountOptions = getMountOptions({ const mountOptions = getMountOptions({
route: { query: {}, params: {} },
router: { router: {
navigate: jest.fn(), navigate: jest.fn(),
navigateWithSaving: jest.fn(), navigateWithSaving: jest.fn(),

View file

@ -35,7 +35,7 @@
<alert <alert
ref="piaErrorAlert" ref="piaErrorAlert"
class="my-4" class="my-4"
v-if="displayPiaAlert" v-if="shouldDisplayPiaAlert"
cmsWidgetName="PIAErrorAlertWidget" cmsWidgetName="PIAErrorAlertWidget"
alertClass="alert-danger" alertClass="alert-danger"
v-bind:isDismissible="false" /> v-bind:isDismissible="false" />
@ -275,7 +275,6 @@ export default {
}); });
}, },
backButtonAction() { backButtonAction() {
this.dispatchStoreAction(storeActions.SAVE_PIA_ERROR_CODE, null, false);
this.$router.navigateWithoutSaving(this.navigationScenarios.CLICKED_BACK, this.$route); this.$router.navigateWithoutSaving(this.navigationScenarios.CLICKED_BACK, this.$route);
}, },
async forwardButtonAction() { async forwardButtonAction() {
@ -289,40 +288,26 @@ export default {
await this.dispatchStoreAction(storeActions.SAVE_PROMOS, this.lineItems.promos, false); await this.dispatchStoreAction(storeActions.SAVE_PROMOS, this.lineItems.promos, false);
switch (this.paymentMethod) { if (this.paymentMethod == paymentMethods.LATER) {
case paymentMethods.CREDIT_CARD: this.dispatchStoreAction(this.storeActions.SAVE_WORK_ORDER_FLAG, true, false);
this.setupPia(this.paymentMethod); await submitWorkOrder({ pageNameToLog: "payment-method" });
break; this.$router.navigateWithoutSaving(
case paymentMethods.PAYPAL: this.navigationScenarios.CLICKED_FORWARD,
this.setupPia(this.paymentMethod); this.$route
break; );
case paymentMethods.AFTERPAY: } else {
this.setupPia(this.paymentMethod); this.setupPia();
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(
this.navigationScenarios.CLICKED_FORWARD,
this.$route
);
} }
}, },
async setupPia(payNowType) { async setupPia() {
this.$refs.loadingModal.showModal(); 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);
// 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 we don't have a work order in delete substatus, set the flag and submit
if (!store.getters.order.workOrderNumber) { if (!store.getters.order.workOrderNumber) {
this.dispatchStoreAction(storeActions.SAVE_PIA_WORK_ORDER, true); this.dispatchStoreAction(storeActions.SAVE_PIA_WORK_ORDER, true);
await submitWorkOrder({ pageNameToLog: "payment-method" }); await submitWorkOrder({ pageNameToLog: "payment-method" });
this.dispatchStoreAction(storeActions.SAVE_PIA_WORK_ORDER, false); this.dispatchStoreAction(storeActions.SAVE_PIA_WORK_ORDER, false);
this.dispatchStoreAction(storeActions.RESET_SAVE_SESSION_PROMISE);
} }
this.$router.navigateWithoutSaving( this.$router.navigateWithoutSaving(
@ -363,8 +348,8 @@ export default {
return this.paymentMethodInternalModel; return this.paymentMethodInternalModel;
}, },
displayPiaAlert() { shouldDisplayPiaAlert() {
return store.getters.order.payment.piaErrorCode ? true : false; return this.$route.params[this.routerParams.DISPLAY_PIA_ALERT];
}, },
}, },
watch: { watch: {

View file

@ -14,6 +14,7 @@ import baseMixin from "@/mixins/base-mixin.js";
import loadingModal from "@/fmg-components/loading-modal/loading-modal.vue"; import loadingModal from "@/fmg-components/loading-modal/loading-modal.vue";
import { Form } from "vee-validate"; import { Form } from "vee-validate";
import { paymentMethods } from "@/constants/payment-method-constants"; import { paymentMethods } from "@/constants/payment-method-constants";
import { routerParams } from "@/router/router-constants/router-params";
export default { export default {
name: "payment-pia-return", name: "payment-pia-return",
@ -23,12 +24,12 @@ export default {
if (piaError) { if (piaError) {
console.log("Error during payment: " + piaError); console.log("Error during payment: " + piaError);
baseMixin.methods.dispatchStoreAction( this.$router.navigateWithoutSaving(
storeActions.SAVE_PIA_ERROR_CODE, this.navigationScenarios.PIA_ERROR,
piaError, this.$route,
false {},
{ [routerParams.DISPLAY_PIA_ALERT]: true }
); );
this.$router.navigateWithoutSaving(this.navigationScenarios.PIA_ERROR, this.$route);
} else { } else {
switch (store.getters.order.payment.piaType) { switch (store.getters.order.payment.piaType) {
case paymentMethods.CREDIT_CARD: case paymentMethods.CREDIT_CARD:
@ -41,14 +42,11 @@ export default {
default: default:
var msg = "Unknown Pia type: " + store.getters.order.payment.piaType; var msg = "Unknown Pia type: " + store.getters.order.payment.piaType;
console.log(msg); console.log(msg);
baseMixin.methods.dispatchStoreAction(
storeActions.SAVE_PIA_ERROR_CODE,
msg,
false
);
this.$router.navigateWithoutSaving( this.$router.navigateWithoutSaving(
this.navigationScenarios.PIA_ERROR, this.navigationScenarios.PIA_ERROR,
this.$route this.$route,
{},
{ [routerParams.DISPLAY_PIA_ALERT]: true }
); );
} }
} }
@ -60,7 +58,6 @@ export default {
async processPaypalResponse() { async processPaypalResponse() {
const token = getQuerystringParameter(queryStrings.TOKEN); const token = getQuerystringParameter(queryStrings.TOKEN);
const payerId = getQuerystringParameter(queryStrings.PAYERID); 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_WORK_ORDER_FLAG, true, false);
baseMixin.methods.dispatchStoreAction(storeActions.SAVE_PAYPAL_TOKEN, token, false); baseMixin.methods.dispatchStoreAction(storeActions.SAVE_PAYPAL_TOKEN, token, false);
@ -68,7 +65,6 @@ export default {
}, },
async processCreditCardResponse() { async processCreditCardResponse() {
const subscriptionID = getQuerystringParameter(queryStrings.SUBSCRIPTIONID); 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); baseMixin.methods.dispatchStoreAction(storeActions.SAVE_WORK_ORDER_FLAG, true, false);
const referralSeqNum = getQuerystringParameter(queryStrings.REFERRAL_SEQ_NUM); const referralSeqNum = getQuerystringParameter(queryStrings.REFERRAL_SEQ_NUM);
@ -79,12 +75,12 @@ export default {
" " + " " +
store.getters.order.referralSequenceNumber store.getters.order.referralSequenceNumber
); );
baseMixin.methods.dispatchStoreAction( this.$router.navigateWithoutSaving(
storeActions.SAVE_PIA_ERROR_CODE, this.navigationScenarios.PIA_ERROR,
"unknown error", this.$route,
false {},
{ [routerParams.DISPLAY_PIA_ALERT]: true }
); );
this.$router.navigateWithoutSaving(this.navigationScenarios.PIA_ERROR, this.$route);
} else { } else {
const expMonth = getQuerystringParameter(queryStrings.CARD_EXPIRATION_MONTH); const expMonth = getQuerystringParameter(queryStrings.CARD_EXPIRATION_MONTH);
const expYear = getQuerystringParameter(queryStrings.CARD_EXPIRATION_YEAR); const expYear = getQuerystringParameter(queryStrings.CARD_EXPIRATION_YEAR);

View file

@ -260,8 +260,6 @@ export default {
return items[1]; return items[1];
} }
// no work order, set pia error and return
this.dispatchStoreAction(storeActions.SAVE_PIA_ERROR_CODE, "NO WORK ORDER", false);
this.backButtonAction(); this.backButtonAction();
}, },
getInvoiceNumber() { getInvoiceNumber() {
@ -269,8 +267,6 @@ export default {
return store.getters.order.workOrderNumber.replace("-", ""); 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(); this.backButtonAction();
}, },
getAddress1() { getAddress1() {

View file

@ -1,5 +1,6 @@
const routerParams = { const routerParams = {
DISPLAY_VEHICLE_CHANGE_ALERT: "displayVehicleChangeAlert", DISPLAY_VEHICLE_CHANGE_ALERT: "displayVehicleChangeAlert",
DISPLAY_PIA_ALERT: "displayPiaAlert",
}; };
export { routerParams }; export { routerParams };

View file

@ -97,7 +97,6 @@ const getDefaultState = () => {
parentAccountNumber: 0, parentAccountNumber: 0,
isPia: null, isPia: null,
piaType: null, piaType: null,
piaErrorCode: null,
inactivePromos: null, inactivePromos: null,
paypalToken: null, paypalToken: null,
ccToken: { ccToken: {
@ -249,9 +248,6 @@ export const mutations = {
updatePiaType(state, piaType) { updatePiaType(state, piaType) {
state.order.payment.piaType = piaType; state.order.payment.piaType = piaType;
}, },
updatePiaErrorCode(state, piaErrorCode) {
state.order.payment.piaErrorCode = piaErrorCode;
},
updatePiaWorkOrder(state, piaWorkOrder) { updatePiaWorkOrder(state, piaWorkOrder) {
state.order.createDeleteStatusWorkOrderForPia = piaWorkOrder; state.order.createDeleteStatusWorkOrderForPia = piaWorkOrder;
}, },
@ -1780,9 +1776,6 @@ export const actions = {
saveWorkOrderFlag(context, submitAfterSave) { saveWorkOrderFlag(context, submitAfterSave) {
context.commit(storeMutations.UPDATE_WORK_ORDER_FLAG, submitAfterSave); context.commit(storeMutations.UPDATE_WORK_ORDER_FLAG, submitAfterSave);
}, },
savePiaErrorCode(context, piaErrorCode) {
context.commit(storeMutations.UPDATE_PIA_ERROR_CODE, piaErrorCode);
},
savePiaWorkOrder(context, piaWorkOrder) { savePiaWorkOrder(context, piaWorkOrder) {
context.commit(storeMutations.UPDATE_PIA_WORK_ORDER, piaWorkOrder); context.commit(storeMutations.UPDATE_PIA_WORK_ORDER, piaWorkOrder);
}, },