mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
FIX: Modal onClose was being called repeatedly
This happened because the modal controller was not clearing the `name` attribute, which is used for looking up the controller to call `onClose` on. Every page navigation would call the method over and over, breaking state in odd ways.
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
import { acceptance } from "helpers/qunit-helpers";
|
||||
import { acceptance, controllerFor } from "helpers/qunit-helpers";
|
||||
import showModal from "discourse/lib/show-modal";
|
||||
|
||||
acceptance("Modal");
|
||||
|
||||
QUnit.test("modal", async assert => {
|
||||
QUnit.test("modal", async function(assert) {
|
||||
await visit("/");
|
||||
|
||||
assert.ok(
|
||||
@@ -14,11 +14,15 @@ QUnit.test("modal", async assert => {
|
||||
await click(".login-button");
|
||||
assert.ok(find(".d-modal:visible").length === 1, "modal should appear");
|
||||
|
||||
let controller = controllerFor("modal");
|
||||
assert.equal(controller.name, "login");
|
||||
|
||||
await click(".modal-outer-container");
|
||||
assert.ok(
|
||||
find(".d-modal:visible").length === 0,
|
||||
"modal should disappear when you click outside"
|
||||
);
|
||||
assert.equal(controller.name, null);
|
||||
|
||||
await click(".login-button");
|
||||
assert.ok(find(".d-modal:visible").length === 1, "modal should reappear");
|
||||
|
||||
Reference in New Issue
Block a user