DEV: Try fix flaky dismiss keyboard specs (#13452)

DEV: Try fix flaky dismiss keyboard specs (#13452)

Also add extra logging for test failures

diff --git a/app/assets/javascripts/discourse/tests/acceptance/keyboard-shortcuts-test.js b/app/assets/javascripts/discourse/tests/acceptance/keyboard-shortcuts-test.js
index 667cf83..21bcce1 100644
--- a/app/assets/javascripts/discourse/tests/acceptance/keyboard-shortcuts-test.js
+++ b/app/assets/javascripts/discourse/tests/acceptance/keyboard-shortcuts-test.js
@@ -85,17 +85,29 @@ acceptance("Keyboard Shortcuts - Authenticated Users", function (needs) {
   });
 
   test("dismiss unread from top and bottom button", async function (assert) {
+    // visit root first so topic list starts fresh
+    await visit("/");
     await visit("/unread");
-    assert.ok(exists("#dismiss-topics-top"));
+    assert.ok(
+      exists("#dismiss-topics-top"),
+      "dismiss unread top button is present"
+    );
     await triggerKeyEvent(document, "keypress", "x".charCodeAt(0));
     await triggerKeyEvent(document, "keypress", "t".charCodeAt(0));
-    assert.ok(exists("#dismiss-read-confirm"));
+    assert.ok(
+      exists("#dismiss-read-confirm"),
+      "confirmation modal to dismiss unread is present"
+    );
     assert.equal(
       query(".modal-body").innerText,
       I18n.t("topics.bulk.also_dismiss_topics")
     );
     await click("#dismiss-read-confirm");
-    assert.equal(markReadCalled, 1);
+    assert.equal(
+      markReadCalled,
+      1,
+      "mark read has been called on the backend once"
+    );
 
     // we get rid of all but one topic so the top dismiss button doesn't
     // show up, as it only appears if there are too many topics pushing
@@ -106,24 +118,37 @@ acceptance("Keyboard Shortcuts - Authenticated Users", function (needs) {
     // visit root first so topic list starts fresh
     await visit("/");
     await visit("/unread");
-    assert.notOk(exists("#dismiss-topics-top"));
+    assert.notOk(
+      exists("#dismiss-topics-top"),
+      "dismiss unread top button is hidden"
+    );
     await triggerKeyEvent(document, "keypress", "x".charCodeAt(0));
     await triggerKeyEvent(document, "keypress", "t".charCodeAt(0));
-    assert.ok(exists("#dismiss-read-confirm"));
+    assert.ok(
+      exists("#dismiss-read-confirm"),
+      "confirmation modal to dismiss unread is present"
+    );
     assert.equal(
       query(".modal-body").innerText,
       "Stop tracking these topics so they never show up as unread for me again"
     );
+
     await click("#dismiss-read-confirm");
-    assert.equal(markReadCalled, 2);
+    assert.equal(
+      markReadCalled,
+      2,
+      "mark read has been called on the backend twice"
+    );
 
     // restore the original topic list
     topicList.topic_list.topics = originalTopics;
   });
 
   test("dismiss new from top and bottom button", async function (assert) {
+    // visit root first so topic list starts fresh
+    await visit("/");
     await visit("/new");
-    assert.ok(exists("#dismiss-new-top"));
+    assert.ok(exists("#dismiss-new-top"), "dismiss new top button is present");
     await triggerKeyEvent(document, "keypress", "x".charCodeAt(0));
     await triggerKeyEvent(document, "keypress", "r".charCodeAt(0));
     assert.equal(resetNewCalled, 1);
@@ -137,7 +162,10 @@ acceptance("Keyboard Shortcuts - Authenticated Users", function (needs) {
     // visit root first so topic list starts fresh
     await visit("/");
     await visit("/new");
-    assert.notOk(exists("#dismiss-new-top"));
+    assert.notOk(
+      exists("#dismiss-new-top"),
+      "dismiss new top button has been hidden"
+    );
     await triggerKeyEvent(document, "keypress", "x".charCodeAt(0));
     await triggerKeyEvent(document, "keypress", "r".charCodeAt(0));
     assert.equal(resetNewCalled, 2);
@@ -147,9 +175,14 @@ acceptance("Keyboard Shortcuts - Authenticated Users", function (needs) {
   });
 
   test("click event not fired twice when both dismiss buttons are present", async function (assert) {
+    // visit root first so topic list starts fresh
+    await visit("/");
     await visit("/new");
-    assert.ok(exists("#dismiss-new-top"));
-    assert.ok(exists("#dismiss-new-bottom"));
+    assert.ok(exists("#dismiss-new-top"), "dismiss new top button is present");
+    assert.ok(
+      exists("#dismiss-new-bottom"),
+      "dismiss new bottom button is present"
+    );
 
     await triggerKeyEvent(document, "keypress", "x".charCodeAt(0));
     await triggerKeyEvent(document, "keypress", "r".charCodeAt(0));

GitHub sha: f9a1d2bb81daf0e2db1180d31a58f33105fd3c6a

This commit appears in #13452 which was approved by lis2. It was merged by martin.