userauthjs
Version:
Node module for management of user/group privileges and sessions
87 lines (77 loc) • 2.36 kB
JavaScript
/*jshint expr: true*/
var expect = require('chai').expect
var userauth = require('../support/userauth')
var testuser, testgroup
describe('userauth.usergroups', function() {
before(function(done) {
userauth.wipe(function() {
userauth.users.add('testuser', 'password', 'email@example.com', function(err, user) {
if (err) { done(err) }
testuser = user
userauth.privileges.add('testPrivilege', function(err, privilege) {
if (err) { return done(err) }
done()
})
})
})
})
it('add usergroup', function(done) {
userauth.usergroups.add('testgroup', function(err, usergroup) {
if (err) { done(err) }
expect(usergroup).to.be.ok
expect(usergroup).to.have.property('_id')
testgroup = usergroup
done()
})
})
it('add user to usergroup', function(done) {
userauth.usergroups.addUser('testuser', 'testgroup', function(err, user) {
if (err) { done(err) }
expect(user).to.be.ok
expect(user).to.have.property('_id')
expect(user.usergroups).to.include(testgroup._id)
done()
})
})
it('add usergroup to privilege', function(done) {
userauth.privileges.addUsergroup('testgroup', 'testPrivilege', function(err, privilege) {
if (err) { done(err) }
expect(privilege).to.be.ok
expect(privilege).to.have.property('_id')
expect(privilege.usergroups).to.include(testgroup._id)
done()
})
})
it('try to add same user to usergroup again', function(done) {
userauth.usergroups.addUser('testuser', 'testgroup', function(err, user) {
if (err) { done(err) }
expect(user).to.not.be.ok
done()
})
})
it('remove user from usergroup', function(done) {
userauth.usergroups.removeUser('testuser', 'testgroup', function(err, user) {
if (err) { done(err) }
expect(user).to.be.ok
expect(user).to.have.property('_id')
expect(user.usergroups).to.not.include(testgroup._id)
done()
})
})
it('try to remove same user from usergroup again', function(done) {
userauth.usergroups.removeUser('testuser', 'testgroup', function(err, user) {
if (err) { done(err) }
expect(user).to.not.be.ok
done()
})
})
it('remove usergroup', function(done) {
userauth.usergroups.remove('testgroup', function(err, usergroup) {
if (err) { done(err) }
expect(usergroup).to.be.ok
expect(usergroup).to.have.property('_id')
testgroup = usergroup
done()
})
})
})