diff --git a/src/layouts/estimate/estimate.spec.js b/src/layouts/estimate/estimate.spec.js index a24bc22b7..271e2fda5 100644 --- a/src/layouts/estimate/estimate.spec.js +++ b/src/layouts/estimate/estimate.spec.js @@ -42,7 +42,7 @@ describe("estimate.vue", () => { const { wrapper } = setupMocks({}); //Act - store.commit( storeMutations.UPDATE_IS_REPAIR, true ); + store.commit(storeMutations.UPDATE_IS_REPAIR, true); let arePagePrerequisitesValid = wrapper.vm.arePagePrerequisitesValid(); @@ -55,29 +55,13 @@ describe("estimate.vue", () => { const { wrapper } = setupMocks({}); //Act - store.commit( storeMutations.UPDATE_IS_REPAIR, true ); + store.commit(storeMutations.UPDATE_IS_REPAIR, true); let arePagePrerequisitesValid = wrapper.vm.arePagePrerequisitesValid(); //Assert expect(arePagePrerequisitesValid).toBe(true); }); - test.todo("isRepair is false and there are no lineItems => should return false") - test.todo("isRepair is false and lineItems is null => should return false") - test.todo("isRepair is false are there are lineItems => should return true") - test("isRepair is set to null, arePagePrerequisitesValid should return false", async () => { - - //Arrange - const { wrapper } = setupMocks({}); - - //Act - store.commit( storeMutations.UPDATE_IS_REPAIR, null ); - - let arePagePrerequisitesValid = wrapper.vm.arePagePrerequisitesValid(); - - //Assert - expect(arePagePrerequisitesValid).toBe(false); - }); test("After selecting provide my home address on ForwardButtonAction triggers a router.navigateWithSaving", async () => { @@ -132,20 +116,103 @@ describe("estimate.vue", () => { test("Provide my license plate on ForwardButtonAction triggers a router.navigateWithSaving", async () => { - //Arrange - const { wrapper } = setupMocks({}); - await wrapper.setData({ - selectedVinLookupMethod: vinLookupMethodSelections.LICENSEPLATE - }) - - //Act - wrapper.vm.forwardButtonAction(); - - //Assert - expect(wrapper.vm.$router.navigateWithSaving).toHaveBeenCalled(); + //Arrange + const { wrapper } = setupMocks({}); + await wrapper.setData({ + selectedVinLookupMethod: vinLookupMethodSelections.LICENSEPLATE + }) + + //Act + wrapper.vm.forwardButtonAction(); + + //Assert + expect(wrapper.vm.$router.navigateWithSaving).toHaveBeenCalled(); }); + describe("arePagePrerequisitesValid", () => { + beforeEach(() => { + store.commit(storeMutations.UPDATE_IS_REPAIR, false); + store.commit(storeMutations.UPDATE_GLASS_TO_REPLACE, null); + }) + + test("isRepair is false and there are no glassToReplace => should return false", () => { + // Arrange + const { wrapper } = setupMocks({}); + store.commit(storeMutations.UPDATE_IS_REPAIR, false); + store.commit(storeMutations.UPDATE_GLASS_TO_REPLACE, []); + + // Act + let arePagePrerequisitesValid = wrapper.vm.arePagePrerequisitesValid(); + + // Assert + expect(arePagePrerequisitesValid).toBe(false); + }) + + test("isRepair is false and glassToReplace is null => should return false", () => { + // Arrange + const { wrapper } = setupMocks({}); + store.commit(storeMutations.UPDATE_IS_REPAIR, false); + store.commit(storeMutations.UPDATE_GLASS_TO_REPLACE, null); + + // Act + let arePagePrerequisitesValid = wrapper.vm.arePagePrerequisitesValid(); + + // Assert + expect(arePagePrerequisitesValid).toBe(false); + }) + + test("isRepair is false are there is one glassToReplace => should return true", () => { + // Arrange + const { wrapper } = setupMocks({}); + store.commit(storeMutations.UPDATE_IS_REPAIR, false); + store.commit(storeMutations.UPDATE_GLASS_TO_REPLACE, [{glassLocation: "TEST", glassName: "NAME"}]); + + // Act + let arePagePrerequisitesValid = wrapper.vm.arePagePrerequisitesValid(); + + // Assert + expect(arePagePrerequisitesValid).toBe(true); + }) + + test("isRepair is false are there are multiple glassToReplace => should return true", () => { + // Arrange + const { wrapper } = setupMocks({}); + store.commit(storeMutations.UPDATE_IS_REPAIR, false); + store.commit(storeMutations.UPDATE_GLASS_TO_REPLACE, [{glassLocation: "TEST1", glassName: "NAME1"}, {glassLocation: "TEST2", glassName: "NAME2"}, {glassLocation: "TEST3", glassName: "NAME3"}]); + + // Act + let arePagePrerequisitesValid = wrapper.vm.arePagePrerequisitesValid(); + + // Assert + expect(arePagePrerequisitesValid).toBe(true); + }) + + test("isRepair is set to null => arePagePrerequisitesValid should return false", async () => { + // Arrange + const { wrapper } = setupMocks({}); + store.commit(storeMutations.UPDATE_IS_REPAIR, null); + + // Act + console.log(store.getters.damage) + let arePagePrerequisitesValid = wrapper.vm.arePagePrerequisitesValid(); + + // Assert + expect(arePagePrerequisitesValid).toBe(false); + }); + + test("isRepair is set to true => arePagePrerequisitesValid should return true", async () => { + // Arrange + const { wrapper } = setupMocks({}); + store.commit(storeMutations.UPDATE_IS_REPAIR, true); + + // Act + let arePagePrerequisitesValid = wrapper.vm.arePagePrerequisitesValid(); + + // Assert + expect(arePagePrerequisitesValid).toBe(true); + }); + }) }); function setupMocks({