summaryrefslogtreecommitdiff
path: root/service/test
diff options
context:
space:
mode:
authorLisa Junger <ljunger@thoughtworks.com>2014-09-10 17:45:04 +0200
committerPatrick Maia <pmaia@thoughtworks.com>2014-09-15 11:50:47 -0300
commit1ef6f1de8d698c3e70d3e5e6016099190d2ab342 (patch)
treed48e96a38af14536bcd2801537512063460adbb7 /service/test
parent4eeca4b0e3ba10ad08a937d08546384f1c67351c (diff)
added drafts.
Diffstat (limited to 'service/test')
-rw-r--r--service/test/adapter/mail_service_test.py8
-rw-r--r--service/test/adapter/pixelated_mail_test.py3
-rw-r--r--service/test/adapter/pixelated_mailbox_test.py19
-rw-r--r--service/test/adapter/pixelated_mailboxes_test.py1
-rw-r--r--service/test/user_agent_test.py31
5 files changed, 56 insertions, 6 deletions
diff --git a/service/test/adapter/mail_service_test.py b/service/test/adapter/mail_service_test.py
index e96b7e11..96359d30 100644
--- a/service/test/adapter/mail_service_test.py
+++ b/service/test/adapter/mail_service_test.py
@@ -38,3 +38,11 @@ class TestMailService(unittest.TestCase):
self.mail_service.mark_as_read(1)
verify(mail).mark_as_read()
+
+ def test_create_draft(self):
+ drafts_mailbox = mock()
+ when(self.mailboxes).drafts().thenReturn(drafts_mailbox)
+
+ self.mail_service.create_draft('a new draft')
+
+ verify(drafts_mailbox).add('a new draft')
diff --git a/service/test/adapter/pixelated_mail_test.py b/service/test/adapter/pixelated_mail_test.py
index 9d7176a4..922c147d 100644
--- a/service/test/adapter/pixelated_mail_test.py
+++ b/service/test/adapter/pixelated_mail_test.py
@@ -91,9 +91,10 @@ class TestPixelatedMail(unittest.TestCase):
self.assertRegexpMatches(mime_multipart.as_string(), "\nEste \xe9 o corpo")
def test_smtp_format(self):
+ PixelatedMail.from_email_address = 'pixelated@org'
mail = PixelatedMail.from_dict(self.mail_dict)
- smtp_format = mail.to_smtp_format(_from='pixelated@org')
+ smtp_format = mail.to_smtp_format()
self.assertRegexpMatches(smtp_format, "\nFrom: pixelated@org")
diff --git a/service/test/adapter/pixelated_mailbox_test.py b/service/test/adapter/pixelated_mailbox_test.py
index 6574d407..ae63b157 100644
--- a/service/test/adapter/pixelated_mailbox_test.py
+++ b/service/test/adapter/pixelated_mailbox_test.py
@@ -15,8 +15,12 @@
# along with Pixelated. If not, see <http://www.gnu.org/licenses/>.
import unittest
from mockito import *
+import leap
+import os
+from pixelated.adapter.pixelated_mail import PixelatedMail
import test_helper
from pixelated.adapter.pixelated_mailbox import PixelatedMailbox
+from mockito import *
class TestPixelatedMailbox(unittest.TestCase):
@@ -31,3 +35,18 @@ class TestPixelatedMailbox(unittest.TestCase):
mails = self.mailbox.mails()
self.assertIn('sent', mails[0].tags)
+
+ def test_add_message_to_mailbox(self):
+ PixelatedMail.from_email_address = 'pixel@ted.org'
+ mail = PixelatedMail.from_dict(test_helper.mail_dict())
+ mail.to_smtp_format = lambda: 'the mail in smtp format'
+
+ leap_mailbox_messages = mock()
+ leap_mailbox = test_helper.leap_mailbox(messages=[])
+ mailbox = PixelatedMailbox(leap_mailbox, self.db_file_path)
+ mailbox.leap_mailbox.messages = leap_mailbox_messages
+
+ mailbox.add(mail)
+
+ verify(leap_mailbox_messages).add_msg('the mail in smtp format')
+
diff --git a/service/test/adapter/pixelated_mailboxes_test.py b/service/test/adapter/pixelated_mailboxes_test.py
index 1ced8369..eebdc904 100644
--- a/service/test/adapter/pixelated_mailboxes_test.py
+++ b/service/test/adapter/pixelated_mailboxes_test.py
@@ -40,3 +40,4 @@ class PixelatedMailboxesTest(unittest.TestCase):
# then
self.assertEqual(1, len(mails))
self.assertEqual("mail", mails[0])
+
diff --git a/service/test/user_agent_test.py b/service/test/user_agent_test.py
index 7c701a54..10d7fc6c 100644
--- a/service/test/user_agent_test.py
+++ b/service/test/user_agent_test.py
@@ -16,7 +16,8 @@
import unittest
import pixelated.user_agent
-from mock import Mock
+from pixelated.adapter.pixelated_mail import PixelatedMail
+from mockito import *
import pixelated.adapter.pixelated_mail
@@ -24,11 +25,31 @@ class UserAgentTest(unittest.TestCase):
def setUp(self):
self.app = pixelated.user_agent.app.test_client()
+ self.mail_service = mock()
+ pixelated.user_agent.mail_service = self.mail_service
- def test_send_mail_should_add_user_account(self):
- pixelated.user_agent.mail_service = Mock()
- pixelated.adapter.pixelated_mail.from_dict = lambda self: 'mail'
+ def test_create_or_send_draft_should_create_draft_if_mail_has_no_ident(self):
+ mail = self.mail_without_ident()
+ pixelated.adapter.pixelated_mail.from_dict = lambda self: mail #has no ident
self.app.post('/mails', data='{}', content_type="application/json")
- pixelated.user_agent.mail_service.send.assert_called_with('mail')
+ verify(self.mail_service).create_draft(mail)
+
+ def test_create_or_send_draft_should_send_draft_if_mail_has_ident(self):
+ mail = self.mail_with_ident()
+ pixelated.adapter.pixelated_mail.from_dict = lambda self: mail #does have ident
+
+ self.app.post('/mails', data='{}', content_type="application/json")
+
+ verify(self.mail_service).send_draft(mail)
+
+ def mail_without_ident(self):
+ mail = PixelatedMail()
+ mail.ident = ''
+ return mail
+
+ def mail_with_ident(self):
+ mail = PixelatedMail()
+ mail.ident = 1
+ return mail