add user.sendInvite() with tests

This commit is contained in:
Johannes Zellner
2016-01-18 15:16:18 +01:00
parent e635aaaa58
commit 9258585746
2 changed files with 49 additions and 1 deletions

View File

@@ -20,9 +20,11 @@ var EMAIL_NEW = 'nobodynew@no.body';
var PASSWORD = 'foobar';
var NEW_PASSWORD = 'somenewpassword';
var IS_ADMIN = true;
var userObject = null;
function cleanupUsers(done) {
userdb._clear(function () {
mailer._clearMailQueue();
done();
});
}
@@ -31,6 +33,9 @@ function createUser(done) {
user.create(USERNAME, PASSWORD, EMAIL, IS_ADMIN, null /* invitor */, false, function (error, result) {
expect(error).to.not.be.ok();
expect(result).to.be.ok();
userObject = result;
done();
});
}
@@ -482,4 +487,25 @@ describe('User', function () {
});
});
});
describe('send invite', function () {
before(createUser);
after(cleanupUsers);
it('fails for unknown user', function (done) {
user.sendInvite('unknown user', function (error) {
expect(error).to.be.a(UserError);
expect(error.reason).to.equal(UserError.NOT_FOUND);
checkMails(0, done);
});
});
it('succeeds', function (done) {
user.sendInvite(userObject.id, function (error) {
expect(error).to.eql(null);
checkMails(2, done);
});
});
});
});