Add User dropdown menu to Header

This commit is contained in:
verg
2014-02-11 20:56:49 -05:00
parent f1a9e52d7e
commit 95f4c0f583
7 changed files with 96 additions and 2 deletions

View File

@ -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");
});

View File

@ -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");
});
});