1
0
mirror of https://github.com/moparisthebest/mail synced 2024-11-22 08:52:15 -05:00

dev/imap-redesign

This commit is contained in:
Felix Hammerl 2014-01-14 16:32:36 +01:00
parent d64ad9873a
commit aa5b476de0
3 changed files with 11 additions and 72 deletions

View File

@ -11,7 +11,7 @@
},
"dependencies": {
"crypto-lib": "https://github.com/whiteout-io/crypto-lib/tarball/master",
"imap-client": "git+ssh://git@github.com:whiteout-io/imap-client.git#master",
"imap-client": "git+ssh://git@github.com:whiteout-io/imap-client.git#dev/imap-redesign",
"smtp-client": "git+ssh://git@github.com:whiteout-io/smtp-client.git#master",
"requirejs": "2.1.8"
},

View File

@ -1111,36 +1111,16 @@ define(function(require) {
return;
}
self._imapClient.listMessagesByUid({
self._imapClient.getMessage({
path: options.folder,
firstUid: options.uid,
lastUid: options.uid
}, function(err, imapHeaders) {
uid: options.uid
}, function(err, message) {
if (err) {
callback(err);
return;
}
var imapHeader = imapHeaders[0];
self._imapClient.getMessagePreview({
path: options.folder,
uid: options.uid
}, function(err, message) {
if (err) {
callback(err);
return;
}
// create a bastard child of smtp and imap. before thinking this is stupid, talk to the guys who wrote this.
// p.s. it's a parsing issue.
imapHeader.id = message.id;
imapHeader.body = message.body;
imapHeader.html = message.html;
imapHeader.attachments = message.attachments;
callback(null, imapHeader);
});
callback(null, message);
});
};

View File

@ -724,24 +724,10 @@ define(function(require) {
var path = 'FOLDAAAA',
uid = 1337;
imapClientStub.listMessagesByUid.withArgs({
path: path,
firstUid: uid,
lastUid: uid
}).yields(null, [{
uid: uid,
subject: 'asdasd',
unread: true,
answered: false
}]);
imapClientStub.getMessagePreview.withArgs({
imapClientStub.getMessage.withArgs({
path: path,
uid: uid
}).yields(null, {
id: 'idididididid',
body: 'yes.'
});
}).yields(null, {});
dao._imapGetMessage({
folder: path,
@ -750,17 +736,16 @@ define(function(require) {
expect(err).to.not.exist;
expect(msg).to.exist;
expect(imapClientStub.listMessagesByUid.calledOnce).to.be.true;
expect(imapClientStub.getMessagePreview.calledOnce).to.be.true;
expect(imapClientStub.getMessage.calledOnce).to.be.true;
done();
});
});
it('should not work when listMessages fails', function(done) {
it('should not work when getMessage fails', function(done) {
var path = 'FOLDAAAA',
uid = 1337;
imapClientStub.listMessagesByUid.yields({});
imapClientStub.getMessage.yields({});
dao._imapGetMessage({
folder: path,
@ -769,33 +754,7 @@ define(function(require) {
expect(err).to.exist;
expect(msg).to.not.exist;
expect(imapClientStub.listMessagesByUid.calledOnce).to.be.true;
expect(imapClientStub.getMessagePreview.called).to.be.false;
done();
});
});
it('should not work when getMessagePreview fails', function(done) {
var path = 'FOLDAAAA',
uid = 1337;
imapClientStub.listMessagesByUid.yields(null, [{
uid: uid,
subject: 'asdasd',
unread: true,
answered: false
}]);
imapClientStub.getMessagePreview.yields({});
dao._imapGetMessage({
folder: path,
uid: uid
}, function(err, msg) {
expect(err).to.exist;
expect(msg).to.not.exist;
expect(imapClientStub.listMessagesByUid.calledOnce).to.be.true;
expect(imapClientStub.getMessagePreview.calledOnce).to.be.true;
expect(imapClientStub.getMessage.calledOnce).to.be.true;
done();
});