jenesius-vue-modal
Version:
The progressive and simple modal system for Vue.js v3
59 lines (44 loc) • 1.53 kB
text/typescript
import {mount} from "@vue/test-utils";
import {
config,
container,
openModal,
} from "../src/index";
import wait from "./wait";
import ModalTitle from "./components/modal-title.vue";
import NamespaceStore from "./../src/utils/NamespaceStore";
import triggerClickClose from "./assets/trigger-click-close";
let wrapper:any = null;
beforeAll(async () => {
wrapper = await mount(container);
})
beforeEach(async () => {
NamespaceStore.instance.forceClean()
await wait()
})
describe("Testing modal options", () => {
test('options {backgroundClose: false} ', async () => {
const modal = await openModal(ModalTitle, {}, {backgroundClose: false})
wrapper.find(".modal-container").trigger('click');
await wait();
expect(modal.closed.value).toBe(false)
})
test('modal.backGroundClose = false', async () => {
const modal = await openModal(ModalTitle, {})
modal.backgroundClose = false;
wrapper.find(".modal-container").trigger('click');
await wait();
expect(modal.closed.value).toBe(false)
})
test('modal.backGroundClose = true, configuration = false', async () => {
config({backgroundClose: false});
const modal = await openModal(ModalTitle, {}, {backgroundClose: true})
await triggerClickClose(wrapper);
await wait();
expect(modal.closed.value).toBe(true)
})
test('Modal.isRoute should be false by default', async () => {
const modal = await openModal(ModalTitle);
expect(modal.isRoute).toBe(false);
})
})