Merge pull request #1547 from Safelite/feature/CSR-1411-bugfix-ajc

Feature/CSR-1411 bugfix ajc
This commit is contained in:
AdamCaouetteSafelite 2023-11-20 13:35:54 -05:00 committed by GitHub
commit 75a98999d7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 75 additions and 9 deletions

View file

@ -89,22 +89,46 @@ export default {
// Call APIs
const cmsContentPromise = fetchCmsContentForPage(to.query.fmgPage);
const wipersPromise = baseMixin.methods.dispatchStoreActionWithLogging(
storeActions.GET_WIPERS,
{
serviceZipCode: store.getters.submittedOrder.serviceLocation.zipCode,
carId: store.getters.submittedOrder.vehicle.carId,
},
"confirmation"
);
const rainDefensePromise = baseMixin.methods.dispatchStoreActionWithLogging(
storeActions.GET_RAIN_DEFENSE,
null,
"confirmation"
);
// Settle promises and get results
const promiseResultMap = [
{
resultKey: "cmsContent",
promise: cmsContentPromise,
},
{
resultKey: "wipers",
promise: wipersPromise,
},
{
resultKey: "rainDefense",
promise: rainDefensePromise,
},
];
const resultMap = await settleAllPromises(promiseResultMap);
const availableVaps = [resultMap.rainDefense, ...resultMap.wipers];
const lineItemsFromSubmittedOrder = deepClone(store.getters.submittedOrder.lineItems);
// Call the "next" function to complete the transition to this page.
next((vm) => {
vm.setCmsContent(resultMap.cmsContent);
vm.lineItems = lineItemsFromSubmittedOrder;
vm.vaps = lineItemsFromSubmittedOrder.vaps;
vm.vaps = availableVaps;
});
},
data() {
@ -231,7 +255,7 @@ export default {
return store.getters.submittedOrder?.vehicle.imageUrl;
},
damageInfo() {
return store.getters.damage;
return store.getters.submittedOrder.damage;
},
isPia() {
return store.getters.submittedOrder?.payment.isPia;

View file

@ -123,7 +123,10 @@ export default {
const wipersPromise = baseMixin.methods.dispatchStoreActionWithLogging(
storeActions.GET_WIPERS,
null,
{
serviceZipCode: store.getters.order.serviceLocation.zipCode,
carId: store.getters.vehicle.carId,
},
"payment-method"
);

View file

@ -258,7 +258,10 @@ export default {
const wipersPromise = baseMixin.methods.dispatchStoreActionWithLogging(
storeActions.GET_WIPERS,
null,
{
serviceZipCode: store.getters.order.serviceLocation.zipCode,
carId: store.getters.vehicle.carId,
},
"payment"
);

View file

@ -266,6 +266,13 @@ describe("quote.vue", () => {
glassParts: ["item", "item2"],
},
payment: {},
serviceLocation: {
zipCode: "12345",
zipCodeCtu: "value",
},
},
vehicle: {
cardId: "123",
},
};
const { wrapper } = setupMocks({});
@ -304,6 +311,9 @@ describe("quote.vue", () => {
state: null,
},
},
vehicle: {
cardId: "123",
},
};
const { wrapper } = setupMocks({});
wrapper.vm.$route = { query: { isInsurance: "true" } };
@ -336,6 +346,9 @@ describe("quote.vue", () => {
state: null,
},
},
vehicle: {
cardId: "123",
},
};
const { wrapper } = setupMocks({});
wrapper.vm.$route = { query: { isInsurance: "false" } };
@ -369,6 +382,9 @@ describe("quote.vue", () => {
state: null,
},
},
vehicle: {
cardId: "123",
},
};
const { wrapper } = setupMocks({});
// Ensure that query param isn't overriding selection
@ -402,6 +418,9 @@ describe("quote.vue", () => {
state: null,
},
},
vehicle: {
cardId: "123",
},
};
const { wrapper } = setupMocks({});
// Ensure that query param isn't overriding selection
@ -436,6 +455,9 @@ describe("quote.vue", () => {
state: null,
},
},
vehicle: {
cardId: "123",
},
};
mockTierOnePrice = 200;
const { wrapper } = setupMocks({});
@ -472,6 +494,9 @@ describe("quote.vue", () => {
state: null,
},
},
vehicle: {
cardId: "123",
},
};
mockTierOnePrice = 505;
const { wrapper } = setupMocks({});
@ -507,6 +532,9 @@ describe("quote.vue", () => {
state: "AZ",
},
},
vehicle: {
cardId: "123",
},
};
const { wrapper } = setupMocks({});
wrapper.vm.$route = { query: null };

View file

@ -96,7 +96,10 @@ export default {
const cmsContentPromise = fetchCmsContentForPage(to.query.fmgPage);
const wipersPromise = baseMixin.methods.dispatchStoreActionWithLogging(
storeActions.GET_WIPERS,
null,
{
serviceZipCode: store.getters.order.serviceLocation.zipCode,
carId: store.getters.vehicle.carId,
},
"quote"
);
const rainDefensePromise = baseMixin.methods.dispatchStoreActionWithLogging(

View file

@ -15,6 +15,7 @@ import {
import { settleAllPromises } from "@/helpers/layout-helper";
import baseMixin from "@/mixins/base-mixin.js";
import { storeActions } from "@/constants/store-actions";
import store from "@/store";
export default {
name: "service-package-review",
@ -34,7 +35,10 @@ export default {
loadInitialData() {
const wipersPromise = baseMixin.methods.dispatchStoreActionWithLogging(
storeActions.GET_WIPERS,
null,
{
serviceZipCode: store.getters.order.serviceLocation.zipCode,
carId: store.getters.vehicle.carId,
},
"review"
);
const rainDefensePromise = baseMixin.methods.dispatchStoreActionWithLogging(

View file

@ -1301,9 +1301,10 @@ export const actions = {
return response;
},
async getWipers(context, { pageNameToLog }) {
const carId = context.getters.vehicle.carId;
const serviceZipCode = context.getters.order.serviceLocation.zipCode;
async getWipers(context, { payload, pageNameToLog }) {
const carId = payload.carId;
const serviceZipCode = payload.serviceZipCode;
const response = await globalMethods
.callHttpClient({
method: endpoints.GetWipers.method,