From 82ee9a3ed883d0f14570c63d06de1ab2d7fcd4b7 Mon Sep 17 00:00:00 2001 From: Felix Hammerl Date: Wed, 4 Dec 2013 16:33:10 +0100 Subject: [PATCH] fix write ctrl --- src/js/controller/write.js | 2 +- test/new-unit/write-ctrl-test.js | 34 +++++++++++++++++++++++--------- 2 files changed, 26 insertions(+), 10 deletions(-) diff --git a/src/js/controller/write.js b/src/js/controller/write.js index c6ca86c..ca3faa0 100644 --- a/src/js/controller/write.js +++ b/src/js/controller/write.js @@ -189,7 +189,7 @@ define(function(require) { $scope.replyTo.answered = true; // mark remote imap object - emailDao.imapMarkAnswered({ + emailDao.markAnswered({ uid: $scope.replyTo.uid, folder: $scope.state.nav.currentFolder.path }, $scope.onError); diff --git a/test/new-unit/write-ctrl-test.js b/test/new-unit/write-ctrl-test.js index 841d296..5c694e5 100644 --- a/test/new-unit/write-ctrl-test.js +++ b/test/new-unit/write-ctrl-test.js @@ -165,21 +165,37 @@ define(function(require) { describe('send to outbox', function() { it('should work', function(done) { - scope.state.writer.open = true; - scope.to = 'a, b, c'; - scope.body = 'asd'; - scope.subject = 'yaddablabla'; - scope.toKey = 'Public Key'; + var verifyToSpy = sinon.spy(scope, 'verifyTo'), + re = { + from: [{ + address: 'pity@dafool' + }], + subject: 'Ermahgerd!', + sentDate: new Date(), + body: 'so much body!' + }; - emailDaoMock.store.withArgs(sinon.match(function(mail) { - return mail.from[0].address === emailAddress && mail.to.length === 3; - })).yieldsAsync(); - scope.emptyOutbox = function() { + scope.state.nav = { + currentFolder: 'currentFolder' + }; + + scope.emptyOutbox = function() {}; + + emailDaoMock.store.yields(); + emailDaoMock.markAnswered.yields(); + + scope.onError = function(err) { + expect(err).to.not.exist; expect(scope.state.writer.open).to.be.false; expect(emailDaoMock.store.calledOnce).to.be.true; + expect(emailDaoMock.store.calledOnce).to.be.true; + expect(verifyToSpy.calledOnce).to.be.true; + + scope.verifyTo.restore(); done(); }; + scope.state.writer.write(re); scope.sendToOutbox(); });