From f721b06bb4aae58dc8a927867b9056a911c7ecd2 Mon Sep 17 00:00:00 2001 From: Felix Hammerl Date: Thu, 5 Dec 2013 18:50:03 +0100 Subject: [PATCH] sync answered flag after sending --- src/js/controller/write.js | 7 +++++-- test/new-unit/write-ctrl-test.js | 18 ++++++++++++------ 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/src/js/controller/write.js b/src/js/controller/write.js index 54cdb0f..1e2d40c 100644 --- a/src/js/controller/write.js +++ b/src/js/controller/write.js @@ -169,11 +169,11 @@ define(function(require) { $scope.$apply(); $scope.emptyOutbox($scope.onOutboxUpdate); - markAnwsered(); + markAnswered(); }); }; - function markAnwsered() { + function markAnswered() { // mark replyTo as answered if (!$scope.replyTo) { return; @@ -181,6 +181,9 @@ define(function(require) { // mark list object $scope.replyTo.answered = true; + emailDao.sync({ + 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 7275e2f..6668102 100644 --- a/test/new-unit/write-ctrl-test.js +++ b/test/new-unit/write-ctrl-test.js @@ -141,7 +141,7 @@ define(function(require) { }); describe('send to outbox', function() { - it('should work', function() { + it('should work', function(done) { var verifyToSpy = sinon.spy(scope, 'verifyTo'), re = { from: [{ @@ -157,17 +157,23 @@ define(function(require) { }; scope.emptyOutbox = function() {}; + scope.onError = function(err) { + expect(err).to.not.exist; + expect(scope.state.writer.open).to.be.false; + expect(verifyToSpy.calledOnce).to.be.true; + expect(emailDaoMock.store.calledOnce).to.be.true; + expect(emailDaoMock.sync.calledOnce).to.be.true; + + scope.verifyTo.restore(); + done(); + }; emailDaoMock.store.yields(); + emailDaoMock.sync.yields(); scope.state.writer.write(re); scope.sendToOutbox(); - expect(scope.state.writer.open).to.be.false; - expect(emailDaoMock.store.calledOnce).to.be.true; - expect(verifyToSpy.calledOnce).to.be.true; - - scope.verifyTo.restore(); }); it('should not work and not close the write view', function(done) {