discourse/test/javascripts/acceptance/modal-test.js.es6

48 lines
1.5 KiB
JavaScript

import { acceptance } from "helpers/qunit-helpers";
import showModal from 'discourse/lib/show-modal';
acceptance("Modal");
QUnit.test("modal", assert => {
visit('/');
andThen(() => {
assert.ok(find('.d-modal:visible').length === 0, 'there is no modal at first');
});
click('.login-button');
andThen(() => {
assert.ok(find('.d-modal:visible').length === 1, 'modal should appear');
});
click('.modal-outer-container');
andThen(() => {
assert.ok(find('.d-modal:visible').length === 0, 'modal should disappear when you click outside');
});
click('.login-button');
andThen(() => {
assert.ok(find('.d-modal:visible').length === 1, 'modal should reappear');
});
keyEvent('#main-outlet', 'keydown', 27);
andThen(() => {
assert.ok(find('.d-modal:visible').length === 0, 'ESC should close the modal');
});
andThen(() => {
Ember.TEMPLATES['modal/not-dismissable'] = Ember.HTMLBars.compile('{{#d-modal-body title="" class="" dismissable=false}}test{{/d-modal-body}}');
showModal('not-dismissable', {});
});
andThen(() => {
assert.ok(find('.d-modal:visible').length === 1, 'modal should appear');
});
click('.modal-outer-container');
andThen(() => {
assert.ok(find('.d-modal:visible').length === 1, 'modal should not disappear when you click outside');
});
keyEvent('#main-outlet', 'keydown', 27);
andThen(() => {
assert.ok(find('.d-modal:visible').length === 1, 'ESC should not close the modal');
});
});