mirror of
https://github.com/discourse/discourse.git
synced 2025-06-04 10:04:43 +08:00
Add User dropdown menu to Header
This commit is contained in:
@ -0,0 +1,23 @@
|
||||
module("Discourse.UserDropdownController");
|
||||
|
||||
test("logout action logs out the current user", function () {
|
||||
var logout_mock = sinon.mock(Discourse, "logout");
|
||||
logout_mock.expects("logout").once();
|
||||
|
||||
var controller = Discourse.UserDropdownController.create();
|
||||
controller.send("logout");
|
||||
|
||||
logout_mock.verify();
|
||||
});
|
||||
|
||||
test("showAdminLinks", function() {
|
||||
var currentUserStub = Ember.Object.create();
|
||||
this.stub(Discourse.User, "current").returns(currentUserStub);
|
||||
|
||||
var controller = Discourse.UserDropdownController.create();
|
||||
currentUserStub.set("staff", true);
|
||||
equal(controller.get("showAdminLinks"), true, "is true when current user is a staff member");
|
||||
|
||||
currentUserStub.set("staff", false);
|
||||
equal(controller.get("showAdminLinks"), false, "is false when current user is not a staff member");
|
||||
});
|
@ -171,3 +171,22 @@ test("search dropdown", function() {
|
||||
equal(find("#search-dropdown .selected a").attr("href"), "another-url", "after clicking 'more of type' link, results are reloaded");
|
||||
});
|
||||
});
|
||||
|
||||
test("user dropdown when logged in", function() {
|
||||
expect(3);
|
||||
|
||||
var userDropdownSelector = "#user-dropdown";
|
||||
|
||||
visit("/")
|
||||
.then(function() {
|
||||
not(exists(userDropdownSelector + ":visible"), "initially user dropdown is closed");
|
||||
})
|
||||
.click("#current-user")
|
||||
.then(function() {
|
||||
var $userDropdown = $(userDropdownSelector);
|
||||
|
||||
ok(exists(userDropdownSelector + ":visible"), "is lazily rendered after user opens it");
|
||||
|
||||
ok(exists($userDropdown.find(".user-dropdown-links")), "has showing / hiding user-dropdown links correctly bound");
|
||||
});
|
||||
});
|
||||
|
Reference in New Issue
Block a user