mirror of
https://github.com/vale981/Vulcan
synced 2025-03-06 10:01:40 -05:00
36 lines
1.5 KiB
JavaScript
36 lines
1.5 KiB
JavaScript
![]() |
import { usersMakeAdmin } from '../../lib/server/callbacks';
|
||
|
import Users from '../../lib/modules/collection';
|
||
|
import StubCollections from 'meteor/hwillson:stub-collections';
|
||
|
import expect from 'expect';
|
||
|
|
||
|
describe('vulcan:users/callbacks', function () {
|
||
|
beforeEach(function () {
|
||
|
StubCollections.stub(Users);
|
||
|
});
|
||
|
afterEach(function () {
|
||
|
StubCollections.restore();
|
||
|
});
|
||
|
describe('usersMakeAdmin', function () {
|
||
|
it('makes the first user an admin', function () {
|
||
|
const user = usersMakeAdmin({ email: 'foo@bar.bar', password: 'password' });
|
||
|
expect(user.isAdmin).toBe(true);
|
||
|
});
|
||
|
it('ignores dummy users', function () {
|
||
|
const user = usersMakeAdmin({ isDummy: true, email: 'foo@bar.bar', password: 'password' });
|
||
|
expect(user.isAdmin).toBe(false);
|
||
|
});
|
||
|
it('does not make 2nd user admin', function () {
|
||
|
const user1 = usersMakeAdmin({ email: '11@11.fr', password: 'password' });
|
||
|
Users.insert(user1);
|
||
|
const user2 = usersMakeAdmin({ email: '22@22.fr', password: 'password' });
|
||
|
expect(user1.isAdmin).toBe(true);
|
||
|
expect(user2.isAdmin).toBe(false);
|
||
|
});
|
||
|
it('does not override isAdmin prop if passed', function () {
|
||
|
const userNonAdmin = usersMakeAdmin({ isAdmin: false, email: 'foo@bar.bar', password: 'password' });
|
||
|
expect(userNonAdmin.isAdmin).toBe(false);
|
||
|
const userAdmin = usersMakeAdmin({ isAdmin: true, email: 'foo@bar.bar', password: 'password' });
|
||
|
expect(userAdmin.isAdmin).toBe(true);
|
||
|
});
|
||
|
});
|
||
|
});
|