45 lines
1.1 KiB
JavaScript
45 lines
1.1 KiB
JavaScript
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();
|
|
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 };
|
|
}
|