discourse/test/javascripts/models/user-test.js.es6

69 lines
1.6 KiB
Plaintext
Raw Normal View History

2018-06-15 11:03:24 -04:00
import User from "discourse/models/user";
import Group from "discourse/models/group";
2017-06-14 13:57:58 -04:00
QUnit.module("model:user");
2013-07-26 17:09:54 -04:00
2018-06-15 11:03:24 -04:00
QUnit.test("staff", assert => {
var user = User.create({ id: 1, username: "eviltrout" });
2013-07-26 17:09:54 -04:00
2018-06-15 11:03:24 -04:00
assert.ok(!user.get("staff"), "user is not staff");
2013-07-26 17:09:54 -04:00
2018-06-15 11:03:24 -04:00
user.toggleProperty("moderator");
assert.ok(user.get("staff"), "moderators are staff");
2013-07-26 17:09:54 -04:00
2018-06-15 11:03:24 -04:00
user.setProperties({ moderator: false, admin: true });
assert.ok(user.get("staff"), "admins are staff");
2013-07-26 17:09:54 -04:00
});
2018-06-15 11:03:24 -04:00
QUnit.test("searchContext", assert => {
var user = User.create({ id: 1, username: "EvilTrout" });
2013-07-26 17:09:54 -04:00
2018-06-15 11:03:24 -04:00
assert.deepEqual(
user.get("searchContext"),
{ type: "user", id: "eviltrout", user: user },
"has a search context"
);
2013-09-07 04:49:11 -04:00
});
2017-06-14 13:57:58 -04:00
QUnit.test("isAllowedToUploadAFile", assert => {
var user = User.create({ trust_level: 0, admin: true });
2018-06-15 11:03:24 -04:00
assert.ok(
user.isAllowedToUploadAFile("image"),
"admin can always upload a file"
);
2013-09-07 04:49:11 -04:00
user.setProperties({ admin: false, moderator: true });
2018-06-15 11:03:24 -04:00
assert.ok(
user.isAllowedToUploadAFile("image"),
"moderator can always upload a file"
);
2013-09-07 04:49:11 -04:00
});
2018-06-15 11:03:24 -04:00
QUnit.test("canMangeGroup", assert => {
let user = User.create({ admin: true });
let group = Group.create({ automatic: true });
2018-06-15 11:03:24 -04:00
assert.equal(
user.canManageGroup(group),
false,
"automatic groups cannot be managed."
);
group.set("automatic", false);
2018-06-15 11:03:24 -04:00
assert.equal(
user.canManageGroup(group),
true,
"an admin should be able to manage the group"
);
2018-06-15 11:03:24 -04:00
user.set("admin", false);
group.setProperties({ is_group_owner: true });
2018-06-15 11:03:24 -04:00
assert.equal(
user.canManageGroup(group),
true,
"a group owner should be able to manage the group"
);
});