mirror of
https://github.com/discourse/discourse.git
synced 2025-09-07 12:02:53 +08:00
BUGFIX: don't show redirect reason if you aren't redirected
Move the redirect to top page logic server-side and make sure the reason is not shown when top is not in the navigation menu (top_menu).
This commit is contained in:
parent
c3e5ee1d7e
commit
8214536614
12 changed files with 122 additions and 117 deletions
|
@ -26,63 +26,17 @@ test("isAllowedToUploadAFile", function() {
|
|||
ok(user.isAllowedToUploadAFile("image"), "moderator can always upload a file");
|
||||
});
|
||||
|
||||
test("homepage when top is disabled", function() {
|
||||
var newUser = Discourse.User.create({ trust_level: 0, last_seen_at: moment() }),
|
||||
oldUser = Discourse.User.create({ trust_level: 1, last_seen_at: moment() }),
|
||||
defaultHomepage = Discourse.Utilities.defaultHomepage();
|
||||
test("homepage", function() {
|
||||
var user = Discourse.User.create({ should_be_redirected_to_top: false });
|
||||
var defaultHomepage = Discourse.Utilities.defaultHomepage();
|
||||
|
||||
Discourse.SiteSettings.top_menu = "latest";
|
||||
equal(user.get("homepage"), defaultHomepage, "user's homepage is default when not redirected");
|
||||
|
||||
equal(newUser.get("homepage"), defaultHomepage, "new user's homepage is default when top is disabled");
|
||||
equal(oldUser.get("homepage"), defaultHomepage, "old user's homepage is default when top is disabled");
|
||||
user.set("should_be_redirected_to_top", true);
|
||||
|
||||
oldUser.set("last_seen_at", moment().subtract('month', 2));
|
||||
equal(oldUser.get("homepage"), defaultHomepage, "long-time-no-see old user's homepage is default when top is disabled");
|
||||
equal(user.get("homepage"), "top", "user's homepage is top when redirected");
|
||||
});
|
||||
|
||||
test("homepage when top is enabled and not enough topics", function() {
|
||||
var newUser = Discourse.User.create({ trust_level: 0, last_seen_at: moment() }),
|
||||
oldUser = Discourse.User.create({ trust_level: 1, last_seen_at: moment() }),
|
||||
defaultHomepage = Discourse.Utilities.defaultHomepage();
|
||||
|
||||
Discourse.SiteSettings.top_menu = "latest|top";
|
||||
Discourse.Site.currentProp("has_enough_topic_to_redirect_to_top_page", false);
|
||||
|
||||
equal(newUser.get("homepage"), defaultHomepage, "new user's homepage is default");
|
||||
equal(oldUser.get("homepage"), defaultHomepage, "old user's homepage is default");
|
||||
|
||||
oldUser.set("last_seen_at", moment().subtract('month', 2));
|
||||
equal(oldUser.get("homepage"), defaultHomepage, "long-time-no-see old user's homepage is default");
|
||||
});
|
||||
|
||||
test("homepage when top is enabled and has enough topics", function() {
|
||||
var newUser = Discourse.User.create({ trust_level: 0, last_seen_at: moment(), created_at: moment().subtract("day", 6) }),
|
||||
oldUser = Discourse.User.create({ trust_level: 1, last_seen_at: moment(), created_at: moment().subtract("month", 2) }),
|
||||
defaultHomepage = Discourse.Utilities.defaultHomepage();
|
||||
|
||||
Discourse.SiteSettings.top_menu = "latest|top";
|
||||
Discourse.SiteSettings.redirect_new_users_to_top_page_duration = 7;
|
||||
Discourse.Site.currentProp("has_enough_topic_to_redirect_to_top_page", true);
|
||||
|
||||
equal(newUser.get("homepage"), "top", "new user's homepage is top when top is enabled");
|
||||
equal(oldUser.get("homepage"), defaultHomepage, "old user's homepage is default when top is enabled");
|
||||
|
||||
oldUser.set("last_seen_at", moment().subtract('month', 2));
|
||||
equal(oldUser.get("homepage"), "top", "long-time-no-see old user's homepage is top when top is enabled");
|
||||
});
|
||||
|
||||
test("new user's homepage when top is enabled, there's enough topics and duration is over", function() {
|
||||
var newUser = Discourse.User.create({ trust_level: 0, last_seen_at: moment(), created_at: moment().subtract("month", 1) }),
|
||||
defaultHomepage = Discourse.Utilities.defaultHomepage();
|
||||
|
||||
Discourse.SiteSettings.top_menu = "latest|top";
|
||||
Discourse.SiteSettings.redirect_new_users_to_top_page_duration = 7;
|
||||
Discourse.Site.currentProp("has_enough_topic_to_redirect_to_top_page", true);
|
||||
|
||||
equal(newUser.get("homepage"), defaultHomepage, "new user's homepage is default when redirect duration is over");
|
||||
});
|
||||
|
||||
|
||||
asyncTestDiscourse("findByUsername", function() {
|
||||
expect(3);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue