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

47 lines
1.4 KiB
Plaintext
Raw Normal View History

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