2014-10-07 14:32:23 -04:00
|
|
|
'use strict';
|
|
|
|
|
2014-11-21 09:06:29 -05:00
|
|
|
var RestDAO = require('../../../src/js/service/rest'),
|
2014-12-10 11:20:55 -05:00
|
|
|
InvitationDAO = require('../../../src/js/service/invitation');
|
2014-10-07 14:32:23 -04:00
|
|
|
|
|
|
|
describe('Invitation DAO unit tests', function() {
|
|
|
|
var restDaoStub, invitationDao,
|
|
|
|
alice = 'zuhause@aol.com',
|
|
|
|
bob = 'manfred.mustermann@musterdomain.com',
|
|
|
|
expectedUri = '/invitation/recipient/' + alice + '/sender/' + bob;
|
|
|
|
|
|
|
|
beforeEach(function() {
|
|
|
|
restDaoStub = sinon.createStubInstance(RestDAO);
|
2014-12-11 12:12:37 -05:00
|
|
|
invitationDao = new InvitationDAO(restDaoStub);
|
2014-10-07 14:32:23 -04:00
|
|
|
});
|
|
|
|
|
|
|
|
describe('initialization', function() {
|
|
|
|
it('should wire up correctly', function() {
|
|
|
|
expect(invitationDao._restDao).to.equal(restDaoStub);
|
|
|
|
expect(invitationDao.invite).to.exist;
|
2013-11-20 06:17:21 -05:00
|
|
|
});
|
2014-10-07 14:32:23 -04:00
|
|
|
});
|
2013-11-20 06:17:21 -05:00
|
|
|
|
2014-10-07 14:32:23 -04:00
|
|
|
describe('invite', function() {
|
|
|
|
it('should invite the recipient', function(done) {
|
2014-12-10 11:39:40 -05:00
|
|
|
restDaoStub.put.returns(resolves());
|
2014-10-07 14:32:23 -04:00
|
|
|
|
|
|
|
invitationDao.invite({
|
|
|
|
recipient: alice,
|
|
|
|
sender: bob
|
2014-12-10 11:20:55 -05:00
|
|
|
}).then(function() {
|
2014-10-07 14:32:23 -04:00
|
|
|
expect(restDaoStub.put.calledWith({}, expectedUri)).to.be.true;
|
|
|
|
done();
|
2013-11-20 06:17:21 -05:00
|
|
|
});
|
|
|
|
});
|
|
|
|
|
2014-10-07 14:32:23 -04:00
|
|
|
it('should not work for http error', function(done) {
|
2014-12-10 11:39:40 -05:00
|
|
|
restDaoStub.put.returns(rejects(new Error()));
|
2013-11-20 06:17:21 -05:00
|
|
|
|
2014-10-07 14:32:23 -04:00
|
|
|
invitationDao.invite({
|
|
|
|
recipient: alice,
|
|
|
|
sender: bob
|
2014-12-10 11:20:55 -05:00
|
|
|
}).catch(function(err) {
|
2014-10-07 14:32:23 -04:00
|
|
|
expect(err).to.exist;
|
|
|
|
done();
|
2013-11-20 06:17:21 -05:00
|
|
|
});
|
2014-10-07 14:32:23 -04:00
|
|
|
});
|
2013-11-20 06:17:21 -05:00
|
|
|
|
2014-12-10 11:20:55 -05:00
|
|
|
it('should report erroneous usage', function(done) {
|
2014-10-07 14:32:23 -04:00
|
|
|
invitationDao.invite({
|
|
|
|
sender: bob
|
2014-12-10 11:20:55 -05:00
|
|
|
}, expectError);
|
|
|
|
|
|
|
|
invitationDao.invite('asd').catch(expectError);
|
|
|
|
|
|
|
|
function expectError(err) {
|
2014-10-07 14:32:23 -04:00
|
|
|
expect(err).to.exist;
|
|
|
|
done();
|
2014-12-10 11:20:55 -05:00
|
|
|
}
|
2014-10-07 14:32:23 -04:00
|
|
|
});
|
2013-11-20 10:04:36 -05:00
|
|
|
|
2014-12-10 11:20:55 -05:00
|
|
|
it('should report erroneous usage', function(done) {
|
2014-10-07 14:32:23 -04:00
|
|
|
invitationDao.invite({
|
|
|
|
recipient: alice,
|
|
|
|
}, expectError);
|
2013-11-21 09:45:18 -05:00
|
|
|
|
2014-12-10 11:20:55 -05:00
|
|
|
invitationDao.invite('asd').catch(expectError);
|
|
|
|
|
|
|
|
function expectError(err) {
|
|
|
|
expect(err).to.exist;
|
|
|
|
done();
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
it('should report erroneous usage', function(done) {
|
2014-10-07 14:32:23 -04:00
|
|
|
invitationDao.invite({
|
|
|
|
recipient: 123,
|
|
|
|
sender: 123
|
|
|
|
}, expectError);
|
2013-11-21 09:45:18 -05:00
|
|
|
|
2014-12-10 11:20:55 -05:00
|
|
|
invitationDao.invite('asd').catch(expectError);
|
2013-11-20 10:04:36 -05:00
|
|
|
|
2014-12-10 11:20:55 -05:00
|
|
|
function expectError(err) {
|
2014-10-07 14:32:23 -04:00
|
|
|
expect(err).to.exist;
|
2014-12-10 11:20:55 -05:00
|
|
|
done();
|
2014-10-07 14:32:23 -04:00
|
|
|
}
|
2013-11-20 06:17:21 -05:00
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|