Merge pull request #772 from Safelite/feature/CSR-726

CSR-726 | Tech review changes
This commit is contained in:
scottkiener 2022-10-12 15:26:46 -04:00 committed by GitHub
commit 4c18725a12
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 17 additions and 25 deletions

View file

@ -26,13 +26,12 @@ export default ({
},
computed: {
answersFromCms(){
//console.log(JSON.parse(JSON.stringify(this.getCmsContent(this.cmsWidgetName, 'Answers'))));
return this.getCmsContent(this.cmsWidgetName, 'Answers');
},
selectedValues: {
get: function() {
// Convert to CMS answer name from bool
var cmsAnswerValue = this.modelValue ? insuranceAnswer : cashAnswer;
const cmsAnswerValue = this.modelValue ? insuranceAnswer : cashAnswer;
return cmsAnswerValue;
},
set: function(newValue) {

View file

@ -20,7 +20,7 @@
<cashOrInsuranceQuestion
ref="cashOrInsurance"
cmsWidgetName="CashOrInsuranceQuestionWidget"
v-model="isInsurance"
v-model="isInsuranceSelected"
groupName="CashOrInsuranceQuestion"
/>
<radioServicePackage/>
@ -149,12 +149,11 @@ export default {
// Call the "next" function to complete the transition to this page.
next((vm) => {
vm.setCmsContent(cmsContent);
vm.isInsurance = vm.getDefaultIsInsuranceValue();
vm.isInsuranceSelected = vm.getDefaultisInsuranceSelectedValue();
});
},
data(){
return {
cashOrInsuranceThreshhold: 600,
pricingRequestResult: null,
isInsurance: null,
}
@ -163,22 +162,16 @@ export default {
arePagePrerequisitesValid() {
return store.getters.order.damage.isRepair || (store.getters.order.lineItems?.glassParts != null && store.getters.order.lineItems.glassParts.length > 0);
},
getDefaultIsInsuranceValue() {
var defaultIsInsuranceValue = this.$store.getters.order.payment.isInsurance;
if(defaultIsInsuranceValue != null) {
return defaultIsInsuranceValue;
getDefaultisInsuranceSelectedValue() {
var defaultisInsuranceSelectedValue = this.$store.getters.order.payment.isInsurance;
if(defaultisInsuranceSelectedValue != null) {
return defaultisInsuranceSelectedValue;
} else {
return this.economyPackagePrice > this.cashOrInsuranceThreshhold;
return this.economyPackagePrice > 600;
}
}
},
computed: {
years() {
return ["2011", "2012"];
},
answersFromCms() {
return ["Pay on my own", "Pay with insurance"];
},
economyPackagePrice() {
//TODO build out the pricing logic CSR-504
return 0;

View file

@ -148,7 +148,7 @@ describe("vehicle-parts.vue", () => {
expect(arePagePrerequisitesValid).toBe(true);
});
test("Initial data, should populate this.glassParts", async () => {
test("Initial data, should populate this.selectedGlassParts", async () => {
//Arrange
store.getters.pageData.mockReturnValue(basePartResponse);
@ -183,7 +183,7 @@ describe("vehicle-parts.vue", () => {
await nextTick();
//Assert
expect(wrapper.vm.glassParts).toEqual({ "Rear-Stationary": { "Rear": ['DB12209YPYNOEM'] } });
expect(wrapper.vm.selectedGlassParts).toEqual({ "Rear-Stationary": { "Rear": ['DB12209YPYNOEM'] } });
});
test("User had part questions > BackButtonAction triggers a router.navigateWithoutSaving change with correct scenario", async () => {
@ -343,7 +343,7 @@ describe("vehicle-parts.vue", () => {
}
});
wrapper.setData({ glassParts: { "Rear-Stationary": { partNumber: 'FW03861GTYN' } } });
wrapper.setData({ selectedGlassParts: { "Rear-Stationary": { partNumber: 'FW03861GTYN' } } });
//Act
vehicleParts.beforeRouteEnter.call(
@ -409,7 +409,7 @@ describe("vehicle-parts.vue", () => {
}
});
wrapper.setData({ glassParts: { "Rear-Stationary": { partNumber: 'DB12209GTYN' } } });
wrapper.setData({ selectedGlassParts: { "Rear-Stationary": { partNumber: 'DB12209GTYN' } } });
//Act
vehicleParts.beforeRouteEnter.call(
@ -455,7 +455,7 @@ describe("vehicle-parts.vue", () => {
wrapper.vm.$store.commit = jest.fn();
wrapper.vm.$refs.loadingModal.showModal = jest.fn();
wrapper.setData({ glassParts: { "Rear-Stationary": { partNumber: 'DB12209GTYN' } } });
wrapper.setData({ selectedGlassParts: { "Rear-Stationary": { partNumber: 'DB12209GTYN' } } });
//Act
vehicleParts.beforeRouteEnter.call(

View file

@ -30,7 +30,7 @@
<hr v-if="i > 0" />
<glassPartQuestion
:ref="`${RefPrefix}-${item.glassLocation}-${item.glassName}`"
v-model="glassParts[item.glassLocation + '-' + item.glassName]"
v-model="selectedGlassParts[item.glassLocation + '-' + item.glassName]"
:glassLocation="item.glassLocation"
:glassName="item.glassName"
:colorAnswers="item.colorAnswers"
@ -100,7 +100,7 @@ export default {
},
data() {
return {
glassParts: {},
selectedGlassParts: {},
alertWidgetData: Object,
alreadyPopulatedPartsData: {},
};
@ -114,7 +114,7 @@ export default {
selectedGlassPartNumbers () {
// Compile all selected parts from the page.
const numberArray = [];
for (let glassPart of Object.values(this.glassParts)) {
for (let glassPart of Object.values(this.selectedGlassParts)) {
if (glassPart?.partNumber) { numberArray.push(glassPart.partNumber) }
}
return numberArray;
@ -207,7 +207,7 @@ export default {
const partNumber = alreadyPopulatedPartsData[key].partNumber;
g.parts.forEach((p) => {
if (p.partNumber === partNumber) {
this.glassParts[g.glassLocation + "-" + g.glassName] = {
this.selectedGlassParts[g.glassLocation + "-" + g.glassName] = {
[g.glassLocation]: [partNumber],
};
}