commit
83c7a0139a
1 changed files with 97 additions and 0 deletions
97
src/common-components/loading-modal/loading-modal.spec.js
Normal file
97
src/common-components/loading-modal/loading-modal.spec.js
Normal file
|
|
@ -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 };
|
||||||
|
}
|
||||||
Loading…
Reference in a new issue