diff --git a/modules/users/tests/server/user.server.model.tests.js b/modules/users/tests/server/user.server.model.tests.js index 66890671..c0ad1eee 100644 --- a/modules/users/tests/server/user.server.model.tests.js +++ b/modules/users/tests/server/user.server.model.tests.js @@ -92,6 +92,54 @@ describe('User Model Unit Tests:', function () { }); }); + it('should be able to update an existing user with valid roles without problems', function (done) { + var _user = new User(user); + + _user.save(function (err) { + should.not.exist(err); + _user.roles = ['user', 'admin']; + _user.save(function (err) { + should.not.exist(err); + _user.remove(function (err) { + should.not.exist(err); + done(); + }); + }); + }); + }); + + it('should be able to show an error when trying to update an existing user without a role', function (done) { + var _user = new User(user); + + _user.save(function (err) { + should.not.exist(err); + _user.roles = []; + _user.save(function (err) { + should.exist(err); + _user.remove(function (err) { + should.not.exist(err); + done(); + }); + }); + }); + }); + + it('should be able to show an error when trying to update an existing user with a invalid role', function (done) { + var _user = new User(user); + + _user.save(function (err) { + should.not.exist(err); + _user.roles = ['invalid-user-role-enum']; + _user.save(function (err) { + should.exist(err); + _user.remove(function (err) { + should.not.exist(err); + done(); + }); + }); + }); + }); + it('should confirm that saving user model doesnt change the password', function (done) { var _user = new User(user);