Merge branch 'develop' into feature/CSR-108

This commit is contained in:
Adam Caouette 2022-06-23 09:57:33 -04:00
commit 757711728d
4 changed files with 25 additions and 20 deletions

View file

@ -39,7 +39,7 @@ describe("addressVehiclesQuestion.vue", () => {
// Act // Act
const localThis = { $emit: jest.fn() } const localThis = { $emit: jest.fn() }
addressVehiclesQuestion.computed.selectedVehicleVin.set.call(localThis, 'newValue'); addressVehiclesQuestion.computed.selectedVehicleVinAsArray.set.call(localThis, ['newValue']);
// Assert // Assert
expect(localThis.$emit).toBeCalledWith("update:modelValue", "newValue"); expect(localThis.$emit).toBeCalledWith("update:modelValue", "newValue");

View file

@ -5,7 +5,7 @@
groupName="ChooseAddressVehicle" groupName="ChooseAddressVehicle"
:questionText="questionText" :questionText="questionText"
:answers="vehicles" :answers="vehicles"
v-model="selectedVehicleVin" v-model="selectedVehicleVinAsArray"
isRequired=true isRequired=true
:validation-rules="validationRules" :validation-rules="validationRules"
/> />
@ -62,16 +62,18 @@ export default {
questionText() { questionText() {
return this.getCmsContent("VehicleConfirmationQuestion", "QuestionText"); return this.getCmsContent("VehicleConfirmationQuestion", "QuestionText");
}, },
selectedVehicleVin: { selectedVehicleVinAsArray: {
get: function() { get: function() {
return this.modelValue; const modelValueAsArray = this.modelValue ? [this.modelValue] : [];
return modelValueAsArray;
}, },
set: function(newValue) { set: function(newValue) {
this.$emit("update:modelValue", newValue); const newValueAsScalar = newValue && newValue.length > 0 ? newValue[newValue.length-1] : null;
this.$emit("update:modelValue", newValueAsScalar);
} }
}, },
selectedVehicle() { selectedVehicle() { // this computed is only needed for the computed differentVehicleAlertBody text above
return this.vehicles.find( ({ vin }) => vin === this.selectedVehicleVin[0] ); return this.vehicles.find( ({ vin }) => vin === this.selectedVehicleVinAsArray[this.selectedVehicleVinAsArray.length-1] );
}, },
}, },
components: { components: {

View file

@ -57,7 +57,7 @@ describe("addressVehicles.vue", () => {
// Act // Act
await wrapper.setData({ await wrapper.setData({
selectedVehicleVin: ['5NMS3CADXLH233004'], selectedVehicleVin: '5NMS3CADXLH233004',
}); });
wrapper.vm.backButtonAction(); wrapper.vm.backButtonAction();
@ -87,7 +87,7 @@ describe("addressVehicles.vue", () => {
// Act // Act
await wrapper.setData({ await wrapper.setData({
selectedVehicleVin: ['5NMS3CADXLH233004'], selectedVehicleVin: '5NMS3CADXLH233004',
}); });
await wrapper.vm.forwardButtonAction(); await wrapper.vm.forwardButtonAction();
@ -117,7 +117,7 @@ describe("addressVehicles.vue", () => {
// Act // Act
await wrapper.setData({ await wrapper.setData({
selectedVehicleVin: ['5NMS3CADXLH233004'], selectedVehicleVin: '5NMS3CADXLH233004',
}); });
await wrapper.vm.forwardButtonAction(); await wrapper.vm.forwardButtonAction();
wrapper.vm.$nextTick(); wrapper.vm.$nextTick();
@ -144,7 +144,7 @@ describe("addressVehicles.vue", () => {
// Act // Act
await wrapper.setData({ await wrapper.setData({
selectedVehicleVin: ['5NMS3CADXLH233004'], selectedVehicleVin: '5NMS3CADXLH233004',
isSelectedGlassAvailableForVehicle: false, isSelectedGlassAvailableForVehicle: false,
isCarIdDifferent: true, isCarIdDifferent: true,
}); });
@ -176,7 +176,7 @@ describe("addressVehicles.vue", () => {
// Act // Act
await wrapper.setData({ await wrapper.setData({
selectedVehicleVin: ['5NMS3CADXLH233004'], selectedVehicleVin: '5NMS3CADXLH233004',
isCarIdDifferent: false, isCarIdDifferent: false,
}); });
await wrapper.vm.resetDependentState(); await wrapper.vm.resetDependentState();
@ -194,7 +194,7 @@ describe("addressVehicles.vue", () => {
// Act // Act
await wrapper.setData({ await wrapper.setData({
selectedVehicleVin: ['5NMS3CADXLH233004'], selectedVehicleVin: '5NMS3CADXLH233004',
isCarIdDifferent: false, isCarIdDifferent: false,
}); });
await wrapper.vm.resetDependentState(); await wrapper.vm.resetDependentState();
@ -213,7 +213,7 @@ describe("addressVehicles.vue", () => {
// Act // Act
await wrapper.setData({ await wrapper.setData({
selectedVehicleVin: ['5NMS3CADXLH233004'], selectedVehicleVin: '5NMS3CADXLH233004',
isSelectedGlassAvailableForVehicle: false, isSelectedGlassAvailableForVehicle: false,
isCarIdDifferent: true, isCarIdDifferent: true,
}); });

View file

@ -102,7 +102,7 @@ export default {
}, },
data() { data() {
return { return {
selectedVehicleVin: null, selectedVehicleVin: "",
isCarIdDifferent: false, isCarIdDifferent: false,
isSelectedGlassAvailableForVehicle: true, isSelectedGlassAvailableForVehicle: true,
}; };
@ -145,7 +145,7 @@ export default {
return store.getters.pageData(fmgPageValues.ADDRESS_VEHICLES); return store.getters.pageData(fmgPageValues.ADDRESS_VEHICLES);
}, },
selectedVehicle() { selectedVehicle() {
return this.VehiclesForQuestions.find( ({ vin }) => vin === this.selectedVehicleVin[0] ); return this.VehiclesForQuestions.find( ({ vin }) => vin === this.selectedVehicleVin );
}, },
}, },
methods: { methods: {
@ -219,10 +219,13 @@ export default {
}, },
watch: { watch: {
selectedVehicleVin() { selectedVehicleVin: {
// does this vehicle match the previously selected carId? handler() {
this.isCarIdDifferent = this.selectedVehicle.vehicle.carId !== store.getters.vehicle.carId; // does this vehicle match the previously selected carId?
this.$refs.funnelFooter.updateButtonText(`Continue with ${this.selectedVehicle.vehicle.year} ${this.selectedVehicle.vehicle.make} ${this.selectedVehicle.vehicle.model}`); this.isCarIdDifferent = this.selectedVehicle.vehicle.carId !== store.getters.vehicle.carId;
this.$refs.funnelFooter.updateButtonText(`Continue with ${this.selectedVehicle.vehicle.year} ${this.selectedVehicle.vehicle.make} ${this.selectedVehicle.vehicle.model}`);
},
deep: true
}, },
}, },