DEV: Close modal so other JS tests don't randomly failed.

DEV: Close modal so other JS tests don’t randomly failed.

diff --git a/test/javascripts/acceptance/composer-actions-test.js.es6 b/test/javascripts/acceptance/composer-actions-test.js.es6
index 51db4a4..b70d749 100644
--- a/test/javascripts/acceptance/composer-actions-test.js.es6
+++ b/test/javascripts/acceptance/composer-actions-test.js.es6
@@ -131,39 +131,43 @@ QUnit.test("replying to post - reply_as_new_topic", async assert => {
 });
 
 QUnit.test("shared draft", async assert => {
-  toggleCheckDraftPopup(true);
+  try {
+    toggleCheckDraftPopup(true);
 
-  const composerActions = selectKit(".composer-actions");
-  const tags = selectKit(".mini-tag-chooser");
+    const composerActions = selectKit(".composer-actions");
+    const tags = selectKit(".mini-tag-chooser");
 
-  await visit("/");
-  await click("#create-topic");
+    await visit("/");
+    await click("#create-topic");
 
-  await fillIn(
-    "#reply-title",
-    "This is the new text for the title using 'quotes'"
-  );
-  await fillIn(".d-editor-input", "This is the new text for the post");
-  await tags.expand();
-  await tags.selectRowByValue("monkey");
+    await fillIn(
+      "#reply-title",
+      "This is the new text for the title using 'quotes'"
+    );
 
-  await composerActions.expand();
-  await composerActions.selectRowByValue("shared_draft");
+    await fillIn(".d-editor-input", "This is the new text for the post");
+    await tags.expand();
+    await tags.selectRowByValue("monkey");
+    await composerActions.expand();
+    await composerActions.selectRowByValue("shared_draft");
 
-  assert.equal(tags.header().value(), "monkey", "tags are not reset");
+    assert.equal(tags.header().value(), "monkey", "tags are not reset");
 
-  assert.equal(
-    find("#reply-title").val(),
-    "This is the new text for the title using 'quotes'"
-  );
+    assert.equal(
+      find("#reply-title").val(),
+      "This is the new text for the title using 'quotes'"
+    );
 
-  assert.equal(
-    find("#reply-control .btn-primary.create .d-button-label").text(),
-    I18n.t("composer.create_shared_draft")
-  );
-  assert.ok(find("#reply-control.composing-shared-draft").length === 1);
+    assert.equal(
+      find("#reply-control .btn-primary.create .d-button-label").text(),
+      I18n.t("composer.create_shared_draft")
+    );
 
-  toggleCheckDraftPopup(false);
+    assert.ok(find("#reply-control.composing-shared-draft").length === 1);
+    await click(".modal-footer .btn.btn-default");
+  } finally {
+    toggleCheckDraftPopup(false);
+  }
 });
 
 QUnit.test("hide component if no content", async assert => {
diff --git a/test/javascripts/acceptance/composer-test.js.es6 b/test/javascripts/acceptance/composer-test.js.es6
index effa57f..b77866a 100644
--- a/test/javascripts/acceptance/composer-test.js.es6
+++ b/test/javascripts/acceptance/composer-test.js.es6
@@ -599,87 +599,99 @@ QUnit.test(
 );
 
 QUnit.test("Checks for existing draft", async assert => {
-  toggleCheckDraftPopup(true);
+  try {
+    toggleCheckDraftPopup(true);
 
-  // prettier-ignore
-  server.get("/draft.json", () => { // eslint-disable-line no-undef
-    return [ 200, { "Content-Type": "application/json" }, {
-      draft: "{\"reply\":\"This is a draft of the first post\",\"action\":\"reply\",\"categoryId\":1,\"archetypeId\":\"regular\",\"metaData\":null,\"composerTime\":2863,\"typingTime\":200}",
-      draft_sequence: 42
-    } ];
-  });
+    // prettier-ignore
+    server.get("/draft.json", () => { // eslint-disable-line no-undef
+      return [ 200, { "Content-Type": "application/json" }, {
+        draft: "{\"reply\":\"This is a draft of the first post\",\"action\":\"reply\",\"categoryId\":1,\"archetypeId\":\"regular\",\"metaData\":null,\"composerTime\":2863,\"typingTime\":200}",
+        draft_sequence: 42
+      } ];
+    });
 
-  await visit("/t/internationalization-localization/280");
+    await visit("/t/internationalization-localization/280");
 
-  await click(".topic-post:eq(0) button.show-more-actions");
-  await click(".topic-post:eq(0) button.edit");
-
-  assert.equal(find(".modal-body").text(), I18n.t("drafts.abandon.confirm"));
+    await click(".topic-post:eq(0) button.show-more-actions");
+    await click(".topic-post:eq(0) button.edit");
 
-  await click(".modal-footer .btn.btn-default");
+    assert.equal(find(".modal-body").text(), I18n.t("drafts.abandon.confirm"));
 
-  toggleCheckDraftPopup(false);
+    await click(".modal-footer .btn.btn-default");
+  } finally {
+    toggleCheckDraftPopup(false);
+  }
 });
 
 QUnit.test("Can switch states without abandon popup", async assert => {
-  const composerActions = selectKit(".composer-actions");
-  toggleCheckDraftPopup(true);
-
-  await visit("/t/internationalization-localization/280");
+  try {
+    const composerActions = selectKit(".composer-actions");
+    toggleCheckDraftPopup(true);
 
-  const longText = "a".repeat(256);
+    await visit("/t/internationalization-localization/280");
 
-  await click(".btn-primary.create.btn");
+    const longText = "a".repeat(256);
 
-  await fillIn(".d-editor-input", longText);
+    await click(".btn-primary.create.btn");
 
-  // prettier-ignore
-  server.get("/draft.json", () => { // eslint-disable-line no-undef
-    return [ 200, { "Content-Type": "application/json" }, {
-      draft: "{\"reply\":\"This is a draft of the first post\",\"action\":\"reply\",\"categoryId\":1,\"archetypeId\":\"regular\",\"metaData\":null,\"composerTime\":2863,\"typingTime\":200}",
-      draft_sequence: 42
-    } ];
-  });
+    await fillIn(".d-editor-input", longText);
 
-  await click("article#post_3 button.reply");
+    // prettier-ignore
+    server.get("/draft.json", () => { // eslint-disable-line no-undef
+      return [ 200, { "Content-Type": "application/json" }, {
+        draft: "{\"reply\":\"This is a draft of the first post\",\"action\":\"reply\",\"categoryId\":1,\"archetypeId\":\"regular\",\"metaData\":null,\"composerTime\":2863,\"typingTime\":200}",
+        draft_sequence: 42
+      } ];
+    });
 
-  await composerActions.expand();
-  await composerActions.selectRowByValue("reply_to_topic");
+    await click("article#post_3 button.reply");
 
-  assert.equal(find(".modal-body").text(), "", "abandon popup shouldn't come");
+    await composerActions.expand();
+    await composerActions.selectRowByValue("reply_to_topic");
 
-  assert.equal(
-    find(".d-editor-input").val(),
-    longText,
-    "entered text should still be there"
-  );
+    assert.equal(
+      find(".modal-body").text(),
+      "",
+      "abandon popup shouldn't come"
+    );
 
-  assert.ok(
-    find('.action-title a[href="/t/internationalization-localization/280"]'),
-    "mode should have changed"
-  );
+    assert.equal(
+      find(".d-editor-input").val(),
+      longText,
+      "entered text should still be there"
+    );
 
-  assert.ok(find(".save-animation"), "save animation should show");
+    assert.ok(
+      find('.action-title a[href="/t/internationalization-localization/280"]'),
+      "mode should have changed"
+    );
 
-  toggleCheckDraftPopup(false);
+    assert.ok(find(".save-animation"), "save animation should show");
+  } finally {
+    toggleCheckDraftPopup(false);
+  }
 });
 
 QUnit.test("Loading draft also replaces the recipients", async assert => {
-  toggleCheckDraftPopup(true);
-
-  // prettier-ignore
-  server.get("/draft.json", () => { // eslint-disable-line no-undef
-    return [ 200, { "Content-Type": "application/json" }, {
-       "draft":"{\"reply\":\"hello\",\"action\":\"privateMessage\",\"title\":\"hello\",\"categoryId\":null,\"archetypeId\":\"private_message\",\"metaData\":null,\"usernames\":\"codinghorror\",\"composerTime\":9159,\"typingTime\":2500}",
-       "draft_sequence":0
-    } ];
-  });
+  try {
+    toggleCheckDraftPopup(true);
+
+    // prettier-ignore
+    server.get("/draft.json", () => { // eslint-disable-line no-undef
+      return [ 200, { "Content-Type": "application/json" }, {

[... diff too long, it was truncated ...]

GitHub sha: 909ec47a

2 Likes