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",