Merge branch 'develop' into feature/CSR-1392

This commit is contained in:
CarlNation 2023-11-09 13:47:57 -05:00
commit be2a0f4004
2 changed files with 36 additions and 21 deletions

View file

@ -177,9 +177,9 @@ export default {
return [];
}
return [
...this.lineItems.glassParts,
...this.lineItems.supportingItems,
...this.availableVaps,
...(this.lineItems.glassParts ?? []),
...(this.lineItems.supportingItems ?? []),
...(this.availableVaps ?? []),
];
},
cartItems: {

View file

@ -192,9 +192,11 @@ import { mapTaxedLineItemsToStoreFormat } from "../../store";
import {
revalidatePromosAndValidateNewPromo,
getAddableVapsFromAvailableLineItems,
getVapsThatNeedToBeAddedToSatisfyPromos,
} from "@/helpers/promotions-helper";
import { queryStrings } from "@/constants/query-strings";
import { getQuerystringParameter } from "@/helpers/querystring-helper";
import { deepClone } from "@/helpers/object-helper";
import iframeResize from "../../../node_modules/iframe-resizer/js/iframeResizer.js";
@ -228,7 +230,7 @@ export default {
piaLineItems: this.getPiaLineItems(),
paypalPayment: this.isPaypal(),
lineItems: [],
availableLineItems: [],
availableVaps: [],
};
},
directives: {
@ -297,22 +299,22 @@ export default {
];
const resultMap = await settleAllPromises(promiseResultMap);
const lineItemsFromStore = deepClone(store.getters.order.lineItems);
const glassParts = lineItemsFromStore.glassParts ?? [];
const supportingItems = lineItemsFromStore.supportingItems ?? [];
const glassParts = store.getters.order.lineItems.glassParts ?? [];
let availableLineItems = [
const lineItemsToTax = [
resultMap.rainDefense,
...resultMap.supportingItems,
...supportingItems,
...resultMap.wipers,
...glassParts,
];
const availableVaps = [resultMap.rainDefense, ...resultMap.wipers];
const lineItemsFromStore = store.getters.order.lineItems;
await baseMixin.methods.dispatchStoreActionWithLogging(
const pricedLineItemsToTax = await baseMixin.methods.dispatchStoreActionWithLogging(
storeActions.PRICE_ORDER_ITEMS_AND_SAVE_SERVER_DATA,
{
availableLineItems: availableLineItems,
availableLineItems: lineItemsToTax,
},
"payment",
false
@ -324,14 +326,16 @@ export default {
const { validatePromoResponse, revalidatePromoResponse } =
await revalidatePromosAndValidateNewPromo(
promoCodeFromQueryString,
availableLineItems,
"payment-method"
pricedLineItemsToTax,
"payment"
);
availableLineItems.push(...(validatePromoResponse?.orderPromos ?? []));
const newValidatedPromos = validatePromoResponse?.orderPromos ?? [];
pricedLineItemsToTax.push(...newValidatedPromos);
// End of promo logic
const taxedAvailableLineItems = await baseMixin.methods.dispatchStoreActionWithLogging(
const taxedLineItems = await baseMixin.methods.dispatchStoreActionWithLogging(
storeActions.TAX_ORDER_ITEMS_AND_SAVE_SERVER_DATA,
{
billToAccountNumber: "87291",
@ -340,22 +344,33 @@ export default {
serviceLocationCity: store.getters.order.serviceLocation.city,
serviceLocationState: store.getters.order.serviceLocation.state,
serviceLocationZipCode: store.getters.order.serviceLocation.zipCode,
pricedAvailableLineItems: availableLineItems,
pricedLineItems: pricedLineItemsToTax,
},
"payment-method",
"payment",
false
);
// Match all available line items to the line items as they are in the store
// Match all line items to the line items as they are in the store
// and rebuild the original structure.
const lineItems = mapTaxedLineItemsToStoreFormat(availableLineItems, lineItemsFromStore);
const lineItems = mapTaxedLineItemsToStoreFormat(taxedLineItems, lineItemsFromStore);
const taxedVaps = mapTaxedLineItemsToStoreFormat(taxedLineItems, availableVaps);
// Add items that were not in the store yet but added via query string promo validation
lineItems.promos = lineItems.promos ?? [];
lineItems.promos.push(...newValidatedPromos);
const vapsToAddToCart = getVapsThatNeedToBeAddedToSatisfyPromos(
newValidatedPromos,
taxedVaps,
lineItems
);
lineItems.vaps.push(...vapsToAddToCart);
// Call the "next" function to complete the transition to this page.
next(async (vm) => {
vm.setCmsContent(resultMap.cmsContent);
vm.fetchSignatureInfo(resultMap.signature);
vm.availableLineItems = taxedAvailableLineItems;
vm.availableVaps = taxedVaps;
vm.lineItems = lineItems;
});
},