discourse/test/javascripts/lib/discourse-test.js
Robin Ward ba00cc8ec4
DEV: Move Discourse.getURL and related functions to a module (#9966)
* DEV: Move `Discourse.getURL` and related functions to a module

* DEV: Remove `Discourse.getURL` and `Discourse.getURLWithCDN`

* FIX: `get-url` is required for server side code

* DEV: Deprecate `BaseUri` too.
2020-06-03 12:45:26 -04:00

65 lines
1.6 KiB
JavaScript

import { logIn, updateCurrentUser } from "helpers/qunit-helpers";
QUnit.module("lib:discourse");
QUnit.test("title counts are updated correctly", assert => {
Discourse.set("hasFocus", true);
Discourse.set("contextCount", 0);
Discourse.set("notificationCount", 0);
Discourse.set("_docTitle", "Test Title");
assert.equal(document.title, "Test Title", "title is correct");
Discourse.updateNotificationCount(5);
assert.equal(document.title, "Test Title", "title doesn't change with focus");
Discourse.incrementBackgroundContextCount();
assert.equal(document.title, "Test Title", "title doesn't change with focus");
Discourse.set("hasFocus", false);
Discourse.updateNotificationCount(5);
assert.equal(
document.title,
"Test Title",
"notification count ignored for anon"
);
Discourse.incrementBackgroundContextCount();
assert.equal(
document.title,
"(1) Test Title",
"title changes when incremented for anon"
);
logIn();
updateCurrentUser({ dynamic_favicon: false });
Discourse.set("hasFocus", true);
Discourse.set("hasFocus", false);
Discourse.incrementBackgroundContextCount();
assert.equal(
document.title,
"Test Title",
"title doesn't change when incremented for logged in"
);
Discourse.updateNotificationCount(3);
assert.equal(
document.title,
"(3) Test Title",
"title includes notification count for logged in user"
);
Discourse.set("hasFocus", false);
Discourse.set("hasFocus", true);
assert.equal(
document.title,
"Test Title",
"counter dissappears after focus, and doesn't reappear until another notification arrives"
);
});