mirror of
https://github.com/discourse/discourse.git
synced 2024-11-29 03:23:43 +08:00
65 lines
1.6 KiB
JavaScript
65 lines
1.6 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"
|
|
);
|
|
});
|
|
});
|