mail/test/integration/email-dao-test.js

123 lines
3.9 KiB
JavaScript

define(function(require) {
'use strict';
var appController = require('js/app-controller'),
expect = chai.expect;
var test = {
user: "whiteout.test@gmail.com",
passphrase: 'asdf'
};
describe('Email DAO integration tests', function() {
this.timeout(5000);
var offset = 0,
num = 100,
emailDao;
beforeEach(function() {});
afterEach(function() {});
describe('login', function() {
this.timeout(20000);
it('should work', function(done) {
appController.start(function(err) {
expect(err).to.not.exist;
appController.fetchOAuthToken(function(err, auth) {
expect(err).to.not.exist;
appController.init(auth.emailAddress, auth.token, function(err, availableKeys) {
expect(err).to.not.exist;
emailDao = appController._emailDao;
emailDao.unlock(availableKeys, test.passphrase, function(err) {
expect(err).to.not.exist;
emailDao.imapLogin(function(err) {
expect(err).to.not.exist;
done();
});
});
});
});
});
});
});
describe('List well known folders', function() {
it('should work', function(done) {
// clear folders from cache
emailDao._devicestorage.removeList('folders', function(err) {
expect(err).to.not.exist;
emailDao.imapListFolders(function(err, folders) {
expect(err).to.not.exist;
expect(folders.length).to.be.at.least(1);
done();
});
});
});
});
describe('IMAP sync INBOX messages', function() {
it('should work', function(done) {
emailDao.imapSync({
folder: 'INBOX',
offset: -num,
num: offset
}, function(err) {
expect(err).to.not.exist;
done();
});
});
});
describe('IMAP list INBOX messages', function() {
it('should work', function(done) {
emailDao.listMessages({
folder: 'INBOX',
offset: offset,
num: num
}, function(err, emails) {
expect(err).to.not.exist;
expect(emails).to.exist;
expect(emails.length).to.be.at.least(1);
done();
});
});
});
describe('IMAP sync SENT messages', function() {
it('should work', function(done) {
emailDao.imapSync({
folder: '[Gmail]/Gesendet',
offset: -num,
num: offset
}, function(err) {
expect(err).to.not.exist;
done();
});
});
});
describe('IMAP list SENT messages', function() {
it('should work', function(done) {
emailDao.listMessages({
folder: '[Gmail]/Gesendet',
offset: offset,
num: num
}, function(err, emails) {
expect(err).to.not.exist;
expect(emails).to.exist;
expect(emails.length).to.be.at.least(0);
done();
});
});
});
});
});