mirror of
https://github.com/moparisthebest/mail
synced 2024-11-17 22:55:11 -05:00
123 lines
3.9 KiB
JavaScript
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();
|
|
});
|
|
});
|
|
});
|
|
|
|
});
|
|
}); |