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