DEV: Allow displaying both title and panels in modals (#10220)

This commit is contained in:
Jarek Radosz
2020-07-13 12:43:06 +02:00
committed by GitHub
parent 4492718864
commit eb73048b0f
4 changed files with 69 additions and 10 deletions

View File

@ -1,8 +1,25 @@
import I18n from "I18n";
import { run } from "@ember/runloop";
import { acceptance, controllerFor } from "helpers/qunit-helpers";
import showModal from "discourse/lib/show-modal";
acceptance("Modal");
acceptance("Modal", {
beforeEach() {
this._translations = I18n.translations;
I18n.translations = {
en: {
js: {
test_title: "Test title"
}
}
};
},
afterEach() {
I18n.translations = this._translations;
}
});
QUnit.skip("modal", async function(assert) {
await visit("/");
@ -73,6 +90,43 @@ QUnit.test("rawTitle in modal panels", async function(assert) {
);
});
QUnit.test("modal title", async function(assert) {
Ember.TEMPLATES["modal/test-title"] = Ember.HTMLBars.compile("");
Ember.TEMPLATES["modal/test-title-with-body"] = Ember.HTMLBars.compile(
"{{#d-modal-body}}test{{/d-modal-body}}"
);
await visit("/");
run(() => showModal("test-title", { title: "test_title" }));
assert.equal(
find(".d-modal .title")
.text()
.trim(),
"Test title",
"it should display the title"
);
await click(".d-modal .close");
run(() => showModal("test-title-with-body", { title: "test_title" }));
assert.equal(
find(".d-modal .title")
.text()
.trim(),
"Test title",
"it should display the title when used with d-modal-body"
);
await click(".d-modal .close");
run(() => showModal("test-title"));
assert.ok(
find(".d-modal .title").length === 0,
"it should not re-use the previous title"
);
});
acceptance("Modal Keyboard Events", { loggedIn: true });
QUnit.test("modal-keyboard-events", async function(assert) {