class TestMailService(unittest.TestCase):
    def setUp(self):
        self.querier = mock()
        self.mailboxes = mock()
        self.tag_service = mock()
        self.mailboxes.drafts = lambda: mock()
        self.mailboxes.trash = lambda: mock()
        self.mailboxes.sent = lambda: mock()

        self.mail_sender = mock()
        self.mail_service = MailService(self.mailboxes, self.mail_sender, self.tag_service, self.querier)

    def test_send_mail(self):
        mail = "mail"

        self.mail_service.send(1, mail)

        verify(self.mail_sender).sendmail(mail)

    def test_mark_as_read(self):
        mail = mock()
        when(self.mail_service).mail(any()).thenReturn(mail)
        self.mail_service.mark_as_read(1)

        verify(mail).mark_as_read()

    def test_delete_mail(self):
        self.mail_service.delete_mail(1)

        verify(self.mailboxes).move_to_trash(1)
class TestMailService(unittest.TestCase):
    def setUp(self):
        self.querier = mock()
        pixelated.adapter.soledad_querier.get_soledad_querier_instance = lambda x, y: self.querier

        self.mailboxes = mock()
        self.mailboxes.drafts = lambda: mock()
        self.mailboxes.trash = lambda: mock()
        self.mailboxes.sent = lambda: mock()

        self.mail_sender = mock()
        self.mail_service = MailService(self.mailboxes, self.mail_sender)

    def test_send_mail(self):
        mail = "mail"

        self.mail_service.send(1, mail)

        verify(self.mail_sender).sendmail(mail)

    def test_mark_as_read(self):
        mail = mock()
        when(self.mail_service).mail(any()).thenReturn(mail)
        self.mail_service.mark_as_read(1)

        verify(mail).mark_as_read()

    def test_delete_mail(self):
        self.mail_service.delete_mail(1)

        verify(self.mailboxes).move_to_trash(1)
class TestMailService(unittest.TestCase):
    def setUp(self):
        self.querier = mock()
        self.mailboxes = mock()
        self.tag_service = mock()
        self.mailboxes.drafts = lambda: mock()
        self.mailboxes.trash = lambda: mock()
        self.mailboxes.sent = lambda: mock()

        self.mail_sender = mock()
        self.mail_service = MailService(self.mailboxes, self.mail_sender, self.tag_service, self.querier)

    def test_send_mail(self):
        mail = "mail"

        self.mail_service.send(1, mail)

        verify(self.mail_sender).sendmail(mail)

    def test_mark_as_read(self):
        mail = mock()
        when(self.mail_service).mail(any()).thenReturn(mail)
        self.mail_service.mark_as_read(1)

        verify(mail).mark_as_read()

    def test_delete_mail(self):
        self.mail_service.delete_mail(1)

        verify(self.mailboxes).move_to_trash(1)

    def test_reply_all_template(self):
        mail = mock()
        when(self.mail_service).mail(1).thenReturn(mail)

        self.mail_service.reply_all_template(1)

        verify(mail).to_reply_template()