Merge pull request #1480 from Safelite/feature/skiener/CSR-1452

CSR-1452 | Multiple bug fixes
This commit is contained in:
scottkiener 2023-10-31 16:49:51 -04:00 committed by GitHub
commit b07e24ee1e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 30 additions and 13 deletions

View file

@ -133,7 +133,6 @@ export default {
suppressError: Boolean,
useTextForValue: Boolean,
valueToLogType: String,
additionalButtonData: Object,
isSmallQuestionText: Boolean,
customButtonQuestionId: String,
logDisplayedValuesEvent: {
@ -256,7 +255,7 @@ export default {
buttonFooterCopy: answer.buttonFooterCopy ?? answer.buttonFooterCopy,
buttonImage: answer.buttonImage ?? answer.AnswerImageUrl,
buttonImageId: answer.buttonImageId ?? answer.ImageId,
additionalButtonData: answer.additionalButtonData ?? answer.additionalButtonData,
additionalButtonData: answer.additionalButtonData,
groupName: this.formatString(this.groupName),
value:
answer.value ??

View file

@ -37,8 +37,7 @@
v-model="selectedWipers"
isMultiSelect
isRequired
validationRules="checkbox-required"
:additionalButtonData="additionalButtonData" />
validationRules="checkbox-required" />
</div>
<div v-else-if="wipersOffered === wipersOfferedStrings.FRONT" class="wiper-options">
<p class="price">+${{ wipersModal.totalFrontPrice }}</p>

View file

@ -186,18 +186,21 @@ describe("shop-question.vue", () => {
buttonLabel: "Westerville",
buttonLabelSubCopy: "5 mi",
value: "003335",
additionalButtonData: wrapper.vm.additionalButtonData,
},
{
buttonBodyCopy: "760 Dearborn Park Ln, Worthington, OH 43085",
buttonLabel: "Worthington",
buttonLabelSubCopy: "10.5 mi",
value: "001820",
additionalButtonData: wrapper.vm.additionalButtonData,
},
{
buttonBodyCopy: "5015 N High St, Columbus, OH 43214",
buttonLabel: "Columbus",
buttonLabelSubCopy: "11.5 mi",
value: "003343",
additionalButtonData: wrapper.vm.additionalButtonData,
},
]);
});
@ -414,6 +417,10 @@ describe("shop-question.vue", () => {
},
});
displayedAnswers.forEach(
(answer) => (answer.additionalButtonData = wrapper.vm.additionalButtonData)
);
// Act
await wrapper.setProps({
shopProviderData: shopQuestionInitialData,
@ -445,42 +452,49 @@ describe("shop-question.vue", () => {
// Assert
expect(wrapper.vm.answers.length).toBe(6);
console.log(wrapper.vm.answers);
expect(wrapper.vm.answers).toEqual([
{
buttonBodyCopy: "4403 Executive Pkwy, Westerville, OH 43081",
buttonLabel: "Westerville",
buttonLabelSubCopy: "5 mi",
value: "003335",
additionalButtonData: wrapper.vm.additionalButtonData,
},
{
buttonBodyCopy: "760 Dearborn Park Ln, Worthington, OH 43085",
buttonLabel: "Worthington",
buttonLabelSubCopy: "10.5 mi",
value: "001820",
additionalButtonData: wrapper.vm.additionalButtonData,
},
{
buttonBodyCopy: "5015 N High St, Columbus, OH 43214",
buttonLabel: "Columbus",
buttonLabelSubCopy: "11.5 mi",
value: "003343",
additionalButtonData: wrapper.vm.additionalButtonData,
},
{
buttonBodyCopy: "1670 Harmon Ave, Columbus, OH 43223",
buttonLabel: "Columbus",
buttonLabelSubCopy: "16 mi",
value: "006747",
additionalButtonData: wrapper.vm.additionalButtonData,
},
{
buttonBodyCopy: "3938 Powell Rd, Powell, OH 43065",
buttonLabel: "Powell",
buttonLabelSubCopy: "16.5 mi",
value: "003341",
additionalButtonData: wrapper.vm.additionalButtonData,
},
{
buttonBodyCopy: "4580 W Broad St, Columbus, OH 43228",
buttonLabel: "Columbus",
buttonLabelSubCopy: "19.5 mi",
value: "003342",
additionalButtonData: wrapper.vm.additionalButtonData,
},
]);
});

View file

@ -19,8 +19,7 @@
textPosition="text-start"
v-model="selectedProviderNumber"
isRequired
validationRules="option-required"
:additionalButtonData="additionalButtonData" />
validationRules="option-required" />
<textLink
v-if="displaySeeMoreLocationsLink"
ref="showMoreShopsLink"
@ -156,6 +155,7 @@ export default {
buttonLabel: city,
buttonLabelSubCopy: `${distanceInMiles} mi`,
buttonBodyCopy: `${streetAddress}, ${city}, ${state} ${zipCode}`,
additionalButtonData: this.additionalButtonData,
value: shopProvider.providerNumber,
};
});

View file

@ -2267,13 +2267,18 @@ export const actions = {
},
};
const validateResponse = await globalMethods.callHttpClient({
method: endpoints.ValidatePromo.method,
endpoint: endpoints.ValidatePromo.url,
payload: requestObject,
logApiCall: true,
pageNameToLog: pageNameToLog,
});
const validateResponse = await globalMethods
.callHttpClient({
method: endpoints.ValidatePromo.method,
endpoint: endpoints.ValidatePromo.url,
payload: requestObject,
logApiCall: true,
pageNameToLog: pageNameToLog,
})
.catch((error) => {
// Validate promo will return 4xx errors when an invalid promo
return error;
});
if (validateResponse?.data?.serverData) {
context.commit(