summaryrefslogtreecommitdiff
path: root/service/test/unit/adapter/test_mail_service.py
diff options
context:
space:
mode:
Diffstat (limited to 'service/test/unit/adapter/test_mail_service.py')
-rw-r--r--service/test/unit/adapter/test_mail_service.py32
1 files changed, 27 insertions, 5 deletions
diff --git a/service/test/unit/adapter/test_mail_service.py b/service/test/unit/adapter/test_mail_service.py
index 30784769..5c035fc8 100644
--- a/service/test/unit/adapter/test_mail_service.py
+++ b/service/test/unit/adapter/test_mail_service.py
@@ -27,7 +27,6 @@ from twisted.internet import defer
class TestMailService(unittest.TestCase):
def setUp(self):
self.drafts = mock()
- self.querier = mock()
self.mail_store = mock()
self.mailboxes = mock()
@@ -38,7 +37,7 @@ class TestMailService(unittest.TestCase):
self.mail_sender = mock()
self.search_engine = mock()
- self.mail_service = MailService(self.mail_sender, self.mail_store, self.querier, self.search_engine)
+ self.mail_service = MailService(self.mail_sender, self.mail_store, self.search_engine)
def tearDown(self):
unstub()
@@ -105,14 +104,26 @@ class TestMailService(unittest.TestCase):
@defer.inlineCallbacks
def test_mark_as_read(self):
- mail = LeapMail('id', 'INBOX')
- when(self.mail_store).get_mail(ANY(), include_body=True).thenReturn(mail)
+ mail = LeapMail(1, 'INBOX')
+ when(self.mail_store).get_mail(1, include_body=True).thenReturn(mail)
yield self.mail_service.mark_as_read(1)
self.assertIn(Status.SEEN, mail.flags)
verify(self.mail_store).update_mail(mail)
@defer.inlineCallbacks
+ def test_mark_as_unread(self):
+ mail = LeapMail(1, 'INBOX')
+ mail.flags.add(Status.SEEN)
+
+ when(self.mail_store).get_mail(1, include_body=True).thenReturn(mail)
+ yield self.mail_service.mark_as_unread(1)
+
+ verify(self.mail_store).update_mail(mail)
+
+ self.assertNotEqual(mail.status, Status.SEEN)
+
+ @defer.inlineCallbacks
def test_delete_mail(self):
mail_to_delete = LeapMail(1, 'INBOX')
when(self.mail_store).get_mail(1, include_body=True).thenReturn(defer.succeed(mail_to_delete))
@@ -123,7 +134,7 @@ class TestMailService(unittest.TestCase):
@defer.inlineCallbacks
def test_recover_mail(self):
- mail_to_recover = PixelatedMail.from_soledad(*leap_mail(), soledad_querier=None)
+ mail_to_recover = PixelatedMail.from_soledad(*leap_mail())
when(self.mail_service).mail(1).thenReturn(mail_to_recover)
when(self.mail_store).move_mail_to_mailbox(1, 'INBOX').thenReturn(mail_to_recover)
@@ -139,3 +150,14 @@ class TestMailService(unittest.TestCase):
attachment = yield self.mail_service.attachment('some attachment id')
self.assertEqual(attachment_dict, attachment)
+
+ @defer.inlineCallbacks
+ def test_update_tags_return_a_set_with_the_current_tags(self):
+ mail = LeapMail(1, 'INBOX', tags={'custom_1', 'custom_2'})
+ when(self.mail_store).get_mail(1, include_body=True).thenReturn(mail)
+ when(self.search_engine).tags(query='', skip_default_tags=True).thenReturn([])
+
+ updated_mail = yield self.mail_service.update_tags(1, {'custom_1', 'custom_3'})
+
+ verify(self.mail_store).update_mail(mail)
+ self.assertEqual({'custom_1', 'custom_3'}, updated_mail.tags)