mirror of
https://github.com/moparisthebest/mail
synced 2024-08-13 16:43:47 -04:00
67 lines
2.4 KiB
JavaScript
67 lines
2.4 KiB
JavaScript
define(function(require) {
|
|
'use strict';
|
|
|
|
var expect = chai.expect,
|
|
OutboxBO = require('js/bo/outbox'),
|
|
EmailDAO = require('js/dao/email-dao'),
|
|
DeviceStorageDAO = require('js/dao/devicestorage-dao'),
|
|
InvitationDAO = require('js/dao/invitation-dao');
|
|
|
|
describe('Outbox Business Object unit test', function() {
|
|
var outbox, emailDaoStub, devicestorageStub, invitationDaoStub;
|
|
|
|
beforeEach(function() {
|
|
emailDaoStub = sinon.createStubInstance(EmailDAO);
|
|
emailDaoStub._devicestorage = devicestorageStub = sinon.createStubInstance(DeviceStorageDAO);
|
|
invitationDaoStub = sinon.createStubInstance(InvitationDAO);
|
|
outbox = new OutboxBO(emailDaoStub, invitationDaoStub);
|
|
});
|
|
|
|
afterEach(function() {});
|
|
|
|
describe('init', function() {
|
|
it('should work', function() {
|
|
expect(outbox).to.exist;
|
|
expect(outbox._emailDao).to.equal(emailDaoStub);
|
|
expect(outbox._invitationDao).to.equal(invitationDaoStub);
|
|
expect(outbox._outboxBusy).to.be.false;
|
|
});
|
|
});
|
|
|
|
describe('start/stop checking', function() {
|
|
it('should work', function() {
|
|
function onOutboxUpdate(err) {
|
|
expect(err).to.not.exist;
|
|
}
|
|
|
|
outbox.startChecking(onOutboxUpdate);
|
|
expect(outbox._intervalId).to.exist;
|
|
|
|
outbox.stopChecking();
|
|
expect(outbox._intervalId).to.not.exist;
|
|
});
|
|
});
|
|
|
|
describe('empty outbox', function() {
|
|
it('should work', function(done) {
|
|
devicestorageStub.listItems.yields(null, [{
|
|
id: '12345'
|
|
}]);
|
|
emailDaoStub.smtpSend.yields();
|
|
devicestorageStub.removeList.yields();
|
|
|
|
function onOutboxUpdate(err, count) {
|
|
expect(err).to.not.exist;
|
|
if (count === 0) {
|
|
expect(devicestorageStub.listItems.callCount).to.equal(1);
|
|
expect(emailDaoStub.smtpSend.callCount).to.equal(1);
|
|
expect(devicestorageStub.removeList.callCount).to.equal(1);
|
|
done();
|
|
}
|
|
}
|
|
|
|
outbox._emptyOutbox(onOutboxUpdate);
|
|
});
|
|
});
|
|
});
|
|
}); |