commit
7c7d20cf0d
2 changed files with 33 additions and 2 deletions
|
|
@ -30,6 +30,18 @@ describe("vehicle.vue", () => {
|
||||||
//Assert
|
//Assert
|
||||||
expect(arePagePrerequisitesValid).toBe(true);
|
expect(arePagePrerequisitesValid).toBe(true);
|
||||||
});
|
});
|
||||||
|
test("if the vehicle is not serviceable displays the displayNoServiceAlert", async () => {
|
||||||
|
//Arrange
|
||||||
|
const { wrapper } = setupMocks({
|
||||||
|
canSafeliteService: false,
|
||||||
|
});
|
||||||
|
|
||||||
|
//Act
|
||||||
|
await wrapper.vm.getVehicleDetails();
|
||||||
|
|
||||||
|
//Assert
|
||||||
|
expect(wrapper.findComponent({ ref: "AlertNoService" }).isVisible()).toBe(true);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
describe("vehicle.vue", () => {
|
describe("vehicle.vue", () => {
|
||||||
describe("navigation", () => {
|
describe("navigation", () => {
|
||||||
|
|
|
||||||
|
|
@ -56,11 +56,20 @@
|
||||||
:displayUnmatchedVehicleIcon="unmatchedVehicleIcon"
|
:displayUnmatchedVehicleIcon="unmatchedVehicleIcon"
|
||||||
class="mt-5 vehicle-footer"
|
class="mt-5 vehicle-footer"
|
||||||
ref="banner" />
|
ref="banner" />
|
||||||
|
<alert
|
||||||
|
ref="AlertNoService"
|
||||||
|
v-if="displayNoServiceAlert"
|
||||||
|
class="mt-4 alert"
|
||||||
|
cmsWidgetName="AlertNoServiceWidget"
|
||||||
|
alertClass="alert-danger"
|
||||||
|
:isDismissible="false" />
|
||||||
|
|
||||||
<navbar
|
<navbar
|
||||||
cmsWidgetName="FunnelFooterWidget"
|
cmsWidgetName="FunnelFooterWidget"
|
||||||
@ForwardClicked="forwardButtonAction"
|
@ForwardClicked="forwardButtonAction"
|
||||||
:isForwardActionDisabled="!meta.valid || !allDataRetrieved"
|
:isForwardActionDisabled="
|
||||||
|
!meta.valid || !allDataRetrieved || displayNoServiceAlert
|
||||||
|
"
|
||||||
ref="navbar" />
|
ref="navbar" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -74,6 +83,7 @@ import funnelHeader from "@/fmg-components/funnel-header/funnel-header";
|
||||||
import navbar from "@/fmg-components/nav-bar/nav-bar";
|
import navbar from "@/fmg-components/nav-bar/nav-bar";
|
||||||
import funnelSubHeader from "@/fmg-components/funnel-sub-header/funnel-sub-header";
|
import funnelSubHeader from "@/fmg-components/funnel-sub-header/funnel-sub-header";
|
||||||
import vehicleBanner from "@/fmg-components/vehicle-banner/vehicle-banner";
|
import vehicleBanner from "@/fmg-components/vehicle-banner/vehicle-banner";
|
||||||
|
import alert from "@/ux-components/alert/alert";
|
||||||
import vehicleQuestion from "@/layouts/vehicle/vehicle-question/vehicle-question";
|
import vehicleQuestion from "@/layouts/vehicle/vehicle-question/vehicle-question";
|
||||||
|
|
||||||
// Supporting files
|
// Supporting files
|
||||||
|
|
@ -111,6 +121,7 @@ export default {
|
||||||
makeOptions: [],
|
makeOptions: [],
|
||||||
modelOptions: [],
|
modelOptions: [],
|
||||||
styleOptions: [],
|
styleOptions: [],
|
||||||
|
displayNoServiceAlert: false,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
@ -225,6 +236,7 @@ export default {
|
||||||
|
|
||||||
watch: {
|
watch: {
|
||||||
async selectedYear(year) {
|
async selectedYear(year) {
|
||||||
|
this.resetAlert();
|
||||||
this.makeOptions = [];
|
this.makeOptions = [];
|
||||||
this.selectedMake = null;
|
this.selectedMake = null;
|
||||||
this.selectedModel = null;
|
this.selectedModel = null;
|
||||||
|
|
@ -244,6 +256,7 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async selectedMake(make) {
|
async selectedMake(make) {
|
||||||
|
this.resetAlert();
|
||||||
this.modelOptions = [];
|
this.modelOptions = [];
|
||||||
this.selectedModel = null;
|
this.selectedModel = null;
|
||||||
this.selectedStyle = null;
|
this.selectedStyle = null;
|
||||||
|
|
@ -262,6 +275,7 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async selectedModel(model) {
|
async selectedModel(model) {
|
||||||
|
this.resetAlert();
|
||||||
this.styleOptions = [];
|
this.styleOptions = [];
|
||||||
this.selectedStyle = null;
|
this.selectedStyle = null;
|
||||||
this.carId = null;
|
this.carId = null;
|
||||||
|
|
@ -287,6 +301,7 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async selectedStyle(style) {
|
async selectedStyle(style) {
|
||||||
|
this.resetAlert();
|
||||||
if (style) {
|
if (style) {
|
||||||
this.getVehicleDetails();
|
this.getVehicleDetails();
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -345,8 +360,11 @@ export default {
|
||||||
this.imageUrl = result?.data.imageUrl;
|
this.imageUrl = result?.data.imageUrl;
|
||||||
this.imageVifNumber = result?.data.imageVifNumber;
|
this.imageVifNumber = result?.data.imageVifNumber;
|
||||||
this.imageVifColor = result?.data.imageVifColor;
|
this.imageVifColor = result?.data.imageVifColor;
|
||||||
|
this.displayNoServiceAlert = !result?.data.canSafeliteService;
|
||||||
|
},
|
||||||
|
resetAlert() {
|
||||||
|
this.displayNoServiceAlert = false;
|
||||||
},
|
},
|
||||||
|
|
||||||
async forwardButtonAction() {
|
async forwardButtonAction() {
|
||||||
await this.dispatchStoreAction(storeActions.RESET_SUBMITTED_ORDER);
|
await this.dispatchStoreAction(storeActions.RESET_SUBMITTED_ORDER);
|
||||||
this.dispatchStoreAction(
|
this.dispatchStoreAction(
|
||||||
|
|
@ -441,6 +459,7 @@ export default {
|
||||||
funnelSubHeader,
|
funnelSubHeader,
|
||||||
vehicleBanner,
|
vehicleBanner,
|
||||||
Form,
|
Form,
|
||||||
|
alert,
|
||||||
vehicleQuestion,
|
vehicleQuestion,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue