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') jest.mock('@/assets/img/wiper-loader.gif', () => 'windshield.png') describe("loadingModal", () => { test("showModal sets modal visible", async () => { // Arrange const { wrapper } = setupMocks(); wrapper.vm.isModalVisible = false; //Act wrapper.vm.showModal(); // Assert expect(wrapper.vm.isModalVisible).toEqual(true); wrapper.unmount(); }); }); function setupMocks() { //Mock store store.dispatch = jest.fn(() => {}); store.getters = { }; const mountOptions = getMountOptions({ store: { dispatch: store.dispatch, getters: store.getters, }, }); const wrapper = shallowMount(loadingModal, mountOptions); return { wrapper }; }