From c2276f0b7ec0a9b6ecfbdf9f68cdb35e038baad7 Mon Sep 17 00:00:00 2001 From: Sam Saffron Date: Fri, 31 Jul 2020 11:23:12 +1000 Subject: [PATCH] DEV: add acceptance test for topic list followup on dc14d156 We previously had no tests and no cleanup --- .../acceptance/topic-list-tracker-test.js | 21 +++++++++++++++++++ test/javascripts/helpers/qunit-helpers.js | 2 ++ 2 files changed, 23 insertions(+) create mode 100644 test/javascripts/acceptance/topic-list-tracker-test.js 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 0000000000..632b7927b7 --- /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 25720683ab..dd1528fc8a 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",