mirror of
https://github.com/discourse/discourse.git
synced 2024-11-30 11:43:56 +08:00
4e8c174ee5
This replaces the 'contextual' counters for logged in users. We will still use the old method for anon users
90 lines
2.4 KiB
JavaScript
90 lines
2.4 KiB
JavaScript
import { logIn, replaceCurrentUser } from "helpers/qunit-helpers";
|
|
|
|
QUnit.module("lib:discourse");
|
|
|
|
QUnit.test("getURL on subfolder install", assert => {
|
|
Discourse.BaseUri = "/forum";
|
|
assert.equal(Discourse.getURL("/"), "/forum/", "root url has subfolder");
|
|
assert.equal(
|
|
Discourse.getURL("/u/neil"),
|
|
"/forum/u/neil",
|
|
"relative url has subfolder"
|
|
);
|
|
});
|
|
|
|
QUnit.test("getURLWithCDN on subfolder install with S3", assert => {
|
|
Discourse.BaseUri = "/forum";
|
|
|
|
Discourse.S3CDN = "https://awesome.cdn/site";
|
|
Discourse.S3BaseUrl = "//test.s3-us-west-1.amazonaws.com/site";
|
|
|
|
let url = "//test.s3-us-west-1.amazonaws.com/site/forum/awesome.png";
|
|
let expected = "https://awesome.cdn/site/forum/awesome.png";
|
|
|
|
assert.equal(Discourse.getURLWithCDN(url), expected, "at correct path");
|
|
|
|
Discourse.S3CDN = null;
|
|
Discourse.S3BaseUrl = null;
|
|
});
|
|
|
|
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();
|
|
replaceCurrentUser({ 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"
|
|
);
|
|
});
|