From 92ecdd9b20e79e1a4a174920c1c202d019ac7f24 Mon Sep 17 00:00:00 2001 From: CarlNation Date: Mon, 9 May 2022 09:29:46 -0400 Subject: [PATCH 1/7] CSR-520 modal specs --- .../loading-modal/loading-modal.spec.js | 97 +++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 src/common-components/loading-modal/loading-modal.spec.js diff --git a/src/common-components/loading-modal/loading-modal.spec.js b/src/common-components/loading-modal/loading-modal.spec.js new file mode 100644 index 000000000..ca7717cca --- /dev/null +++ b/src/common-components/loading-modal/loading-modal.spec.js @@ -0,0 +1,97 @@ +import { shallowMount } from "@vue/test-utils"; +import loadingModal from "./loading-modal"; +import { getMountOptions } from "@/helpers/unit-test-helper.js"; +import store from "@/store"; + +jest.mock( + "@/store", + () => { + return {}; + }, + { virtual: true } +); + +jest.mock('@/assets/img/loader.gif', () => 'loader.gif') +jest.mock('@/assets/img/windshield.png', () => 'windshield.png') + +describe("loadingModal", () => { + test("showModal sets modal visible", async () => { + // Arrange + const { wrapper } = setupMocks({ clickOutCloses: false }); + wrapper.vm.isModalVisible = false; + + //Act + wrapper.vm.showModal(); + + // Assert + expect(wrapper.vm.isModalVisible).toEqual(true); + wrapper.unmount(); + }); +}); + + +describe("loadingModal", () => { + test("closeModal sets modal not visible", async () => { + // Arrange + const { wrapper } = setupMocks({ clickOutCloses: false }); + wrapper.vm.isModalVisible = true; + + //Act + wrapper.vm.closeModal(); + + // Assert + expect(wrapper.vm.isModalVisible).toEqual(false); + wrapper.unmount(); + }); +}); + +describe("loadingModal", () => { + test("canClose calls closeModal", async () => { + // Arrange + const { wrapper } = setupMocks({ clickOutCloses: true }); + wrapper.vm.isModalVisible = true; + + //Act + wrapper.vm.canClose(); + + // Assert + expect(wrapper.vm.isModalVisible).toEqual(false); + wrapper.unmount(); + }); +}); + +describe("loadingModal", () => { + test("canClose does not call closeModal", async () => { + // Arrange + const { wrapper } = setupMocks({ clickOutCloses: false }); + wrapper.vm.isModalVisible = true; + + //Act + wrapper.vm.canClose(); + + // Assert + expect(wrapper.vm.isModalVisible).toEqual(true); + wrapper.unmount(); + }); +}); + +function setupMocks({ + clickOutCloses +}) { + + //Mock store + store.dispatch = jest.fn(() => {}); + store.getters = { }; + const mountOptions = getMountOptions({ + store: { + dispatch: store.dispatch, + getters: store.getters, + }, + }); + + //Mock props + mountOptions.propsData = { clickOutCloses: clickOutCloses }; + const wrapper = shallowMount(loadingModal, mountOptions); + + return { wrapper }; +} From 29aeddd189944dfa449c3ecfae4a5a4b70b15716 Mon Sep 17 00:00:00 2001 From: Scott Kiener Date: Mon, 9 May 2022 10:57:25 -0400 Subject: [PATCH 2/7] CSR-240 | Group stylings into one class --- src/layouts/address-lookup/address-lookup.vue | 2 +- src/layouts/estimate/estimate.vue | 2 +- src/layouts/license-plate-lookup/license-plate-lookup.vue | 2 +- src/layouts/part-questions/part-questions.vue | 2 +- src/layouts/vehicle-damage/vehicle-damage.vue | 2 +- src/layouts/vehicle-make/vehicle-make.vue | 2 +- src/layouts/vehicle-model/vehicle-model.vue | 2 +- src/layouts/vehicle-parts/vehicle-parts.vue | 2 +- src/layouts/vehicle-style/vehicle-style.vue | 2 +- src/layouts/vehicle-year/vehicle-year.vue | 2 +- src/layouts/vin-lookup/vin-lookup.vue | 2 +- src/styles/common-styles.scss | 6 +++++- 12 files changed, 16 insertions(+), 12 deletions(-) diff --git a/src/layouts/address-lookup/address-lookup.vue b/src/layouts/address-lookup/address-lookup.vue index 395c519b3..9c7c56b05 100644 --- a/src/layouts/address-lookup/address-lookup.vue +++ b/src/layouts/address-lookup/address-lookup.vue @@ -5,7 +5,7 @@ ref="theForm" v-slot="{ meta }" autocomplete="off" > -
+