DEV: add acceptance test for topic list

DEV: add acceptance test for topic list

followup on dc14d156

We previously had no tests and no cleanup

diff --git a/test/javascripts/acceptance/topic-list-tracker-test.js b/test/javascripts/acceptance/topic-list-tracker-test.js
new file mode 100644
index 0000000..632b792
--- /dev/null
+++ b/test/javascripts/acceptance/topic-list-tracker-test.js
@@ -0,0 +1,21 @@
+import { acceptance } from "helpers/qunit-helpers";
+import {
+  nextTopicUrl,
+  previousTopicUrl,
+  setTopicId
+} from "discourse/lib/topic-list-tracker";
+acceptance("Topic list tracking");
+
+QUnit.test("Navigation", async assert => {
+  await visit("/");
+  let url = await nextTopicUrl();
+  assert.equal(url, "/t/error-after-upgrade-to-0-9-7-9/11557");
+
+  setTopicId(11557);
+
+  url = await nextTopicUrl();
+  assert.equal(url, "/t/welcome-to-meta-discourse-org/1");
+
+  url = await previousTopicUrl();
+  assert.equal(url, "/t/error-after-upgrade-to-0-9-7-9/11557");
+});
diff --git a/test/javascripts/helpers/qunit-helpers.js b/test/javascripts/helpers/qunit-helpers.js
index 2572068..dd1528f 100644
--- a/test/javascripts/helpers/qunit-helpers.js
+++ b/test/javascripts/helpers/qunit-helpers.js
@@ -27,6 +27,7 @@ import User from "discourse/models/user";
 import { mapRoutes } from "discourse/mapping-router";
 import { currentSettings, mergeSettings } from "helpers/site-settings";
 import { getOwner } from "discourse-common/lib/get-owner";
+import { setTopicList } from "discourse/lib/topic-list-tracker";
 
 export function currentUser() {
   return User.create(sessionFixtures["/session/current.json"].current_user);
@@ -198,6 +199,7 @@ export function acceptance(name, options) {
       resetUsernameDecorators();
       resetOneboxCache();
       resetCustomPostMessageCallbacks();
+      setTopicList(null);
       _clearSnapshots();
       Discourse._runInitializer(
         "instanceInitializers",

GitHub sha: c2276f0b

1 Like