Completed unit tests
This commit is contained in:
parent
4a105a0ec9
commit
322c52c975
1 changed files with 162 additions and 0 deletions
|
|
@ -625,6 +625,114 @@ describe("service-location.vue", () => {
|
||||||
expect(wrapper.vm.isServiceableInshop).toEqual(true);
|
expect(wrapper.vm.isServiceableInshop).toEqual(true);
|
||||||
expect(wrapper.vm.displayServiceableMobileOnly).toEqual(false);
|
expect(wrapper.vm.displayServiceableMobileOnly).toEqual(false);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test("displayNoShopsAlert should be true if inShop is false and mobile is false", async () => {
|
||||||
|
// Arrange
|
||||||
|
getServiceabilityDetails.mockImplementation(() =>
|
||||||
|
Promise.resolve({
|
||||||
|
isGlassServiceableInshop: false,
|
||||||
|
isRecalibrationServiceableInshop: false,
|
||||||
|
isGlassServiceableMobile: false,
|
||||||
|
isRecalibrationServiceableMobile: false,
|
||||||
|
})
|
||||||
|
);
|
||||||
|
|
||||||
|
const { wrapper } = setupMocks({});
|
||||||
|
|
||||||
|
// Act
|
||||||
|
await serviceLocation.beforeRouteEnter.call(
|
||||||
|
wrapper.vm,
|
||||||
|
{ query: { fmgPage: "serviceLocation" } },
|
||||||
|
undefined,
|
||||||
|
(c) => c(wrapper.vm)
|
||||||
|
);
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
expect(wrapper.vm.isServiceableMobile).toEqual(false);
|
||||||
|
expect(wrapper.vm.isServiceableInshop).toEqual(false);
|
||||||
|
expect(wrapper.vm.displayNoShopsAlert).toEqual(true);
|
||||||
|
});
|
||||||
|
|
||||||
|
test("displayNoShopsAlert should be false if inShop is true and mobile is true", async () => {
|
||||||
|
// Arrange
|
||||||
|
getServiceabilityDetails.mockImplementation(() =>
|
||||||
|
Promise.resolve({
|
||||||
|
isGlassServiceableInshop: true,
|
||||||
|
isRecalibrationServiceableInshop: true,
|
||||||
|
isGlassServiceableMobile: true,
|
||||||
|
isRecalibrationServiceableMobile: true,
|
||||||
|
})
|
||||||
|
);
|
||||||
|
|
||||||
|
const { wrapper } = setupMocks({});
|
||||||
|
|
||||||
|
// Act
|
||||||
|
await serviceLocation.beforeRouteEnter.call(
|
||||||
|
wrapper.vm,
|
||||||
|
{ query: { fmgPage: "serviceLocation" } },
|
||||||
|
undefined,
|
||||||
|
(c) => c(wrapper.vm)
|
||||||
|
);
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
expect(wrapper.vm.isServiceableMobile).toEqual(true);
|
||||||
|
expect(wrapper.vm.isServiceableInshop).toEqual(true);
|
||||||
|
expect(wrapper.vm.displayNoShopsAlert).toEqual(false);
|
||||||
|
});
|
||||||
|
|
||||||
|
test("displayNoShopsAlert should be false if inShop is true", async () => {
|
||||||
|
// Arrange
|
||||||
|
getServiceabilityDetails.mockImplementation(() =>
|
||||||
|
Promise.resolve({
|
||||||
|
isGlassServiceableInshop: true,
|
||||||
|
isRecalibrationServiceableInshop: true,
|
||||||
|
isGlassServiceableMobile: false,
|
||||||
|
isRecalibrationServiceableMobile: false,
|
||||||
|
})
|
||||||
|
);
|
||||||
|
|
||||||
|
const { wrapper } = setupMocks({});
|
||||||
|
|
||||||
|
// Act
|
||||||
|
await serviceLocation.beforeRouteEnter.call(
|
||||||
|
wrapper.vm,
|
||||||
|
{ query: { fmgPage: "serviceLocation" } },
|
||||||
|
undefined,
|
||||||
|
(c) => c(wrapper.vm)
|
||||||
|
);
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
expect(wrapper.vm.isServiceableMobile).toEqual(false);
|
||||||
|
expect(wrapper.vm.isServiceableInshop).toEqual(true);
|
||||||
|
expect(wrapper.vm.displayNoShopsAlert).toEqual(false);
|
||||||
|
});
|
||||||
|
|
||||||
|
test("displayNoShopsAlert should be false if mobile is true", async () => {
|
||||||
|
// Arrange
|
||||||
|
getServiceabilityDetails.mockImplementation(() =>
|
||||||
|
Promise.resolve({
|
||||||
|
isGlassServiceableInshop: false,
|
||||||
|
isRecalibrationServiceableInshop: false,
|
||||||
|
isGlassServiceableMobile: true,
|
||||||
|
isRecalibrationServiceableMobile: true,
|
||||||
|
})
|
||||||
|
);
|
||||||
|
|
||||||
|
const { wrapper } = setupMocks({});
|
||||||
|
|
||||||
|
// Act
|
||||||
|
await serviceLocation.beforeRouteEnter.call(
|
||||||
|
wrapper.vm,
|
||||||
|
{ query: { fmgPage: "serviceLocation" } },
|
||||||
|
undefined,
|
||||||
|
(c) => c(wrapper.vm)
|
||||||
|
);
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
expect(wrapper.vm.isServiceableMobile).toEqual(true);
|
||||||
|
expect(wrapper.vm.isServiceableInshop).toEqual(false);
|
||||||
|
expect(wrapper.vm.displayNoShopsAlert).toEqual(false);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe("should be based only on glass serviceability if recalibration is not defined.", () => {
|
describe("should be based only on glass serviceability if recalibration is not defined.", () => {
|
||||||
|
|
@ -816,6 +924,60 @@ describe("service-location.vue", () => {
|
||||||
// Assert
|
// Assert
|
||||||
expect(alertComponent.exists()).toBe(false);
|
expect(alertComponent.exists()).toBe(false);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test("Should show no-shop error if no shops are available.", async () => {
|
||||||
|
// Arrange
|
||||||
|
getServiceabilityDetails.mockImplementation(() =>
|
||||||
|
Promise.resolve({
|
||||||
|
isGlassServiceableInshop: false,
|
||||||
|
isRecalibrationServiceableInshop: false,
|
||||||
|
isGlassServiceableMobile: false,
|
||||||
|
isRecalibrationServiceableMobile: false,
|
||||||
|
})
|
||||||
|
);
|
||||||
|
|
||||||
|
const { wrapper } = setupMocks({});
|
||||||
|
|
||||||
|
// Act
|
||||||
|
await serviceLocation.beforeRouteEnter.call(
|
||||||
|
wrapper.vm,
|
||||||
|
{ query: { fmgPage: "serviceLocation" } },
|
||||||
|
undefined,
|
||||||
|
(c) => c(wrapper.vm)
|
||||||
|
);
|
||||||
|
|
||||||
|
const alertComponent = wrapper.findComponent({ ref: "alertNoShops" });
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
expect(alertComponent.exists()).toBe(true);
|
||||||
|
});
|
||||||
|
|
||||||
|
test("Should not show no-shop error if shops are available.", async () => {
|
||||||
|
// Arrange
|
||||||
|
getServiceabilityDetails.mockImplementation(() =>
|
||||||
|
Promise.resolve({
|
||||||
|
isGlassServiceableInshop: true,
|
||||||
|
isRecalibrationServiceableInshop: true,
|
||||||
|
isGlassServiceableMobile: true,
|
||||||
|
isRecalibrationServiceableMobile: true,
|
||||||
|
})
|
||||||
|
);
|
||||||
|
|
||||||
|
const { wrapper } = setupMocks({});
|
||||||
|
|
||||||
|
// Act
|
||||||
|
await serviceLocation.beforeRouteEnter.call(
|
||||||
|
wrapper.vm,
|
||||||
|
{ query: { fmgPage: "serviceLocation" } },
|
||||||
|
undefined,
|
||||||
|
(c) => c(wrapper.vm)
|
||||||
|
);
|
||||||
|
|
||||||
|
const alertComponent = wrapper.findComponent({ ref: "alertNoShops" });
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
expect(alertComponent.exists()).toBe(false);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue