def test_search_bounce_several(self): """search contacts with several bounces""" emailing = mommy.make(Emailing, status=Emailing.STATUS_SENDING) contact1 = self._new_contact("ABCDabcd") contact2 = self._new_contact("EFGHefg") contact3 = self._new_contact("IJKLijkl") for contact in ( contact1, contact2, contact3, ): emailing.sent_to.add(contact) emailing.hard_bounce.add(contact1) emailing.soft_bounce.add(contact2) emailing.hard_bounce.add(contact2) emailing.save() url = reverse('search') data = {"gr0-_-emailing_bounce-_-0": emailing.id} response = self.client.post(url, data=data) self.assertEqual(200, response.status_code) self.assertEqual([], get_form_errors(response)) self.assertContains(response, contact1.lastname) self.assertContains(response, contact2.lastname) self.assertNotContains(response, contact3.lastname)
def test_search_sent_to(self): """search contacts who received the emailing""" emailing = mommy.make(Emailing, status=Emailing.STATUS_SENDING) emailing2 = mommy.make(Emailing, status=Emailing.STATUS_SENDING) contact1 = self._new_contact("ABCDabcd") contact2 = self._new_contact("EFGHefg") contact3 = self._new_contact("IJKLijkl") contact4 = self._new_contact("MNOPmnop") emailing.sent_to.add(contact1) emailing.send_to.add(contact2) emailing.save() emailing2.sent_to.add(contact3) emailing2.save() url = reverse('search') data = {"gr0-_-emailing_sent-_-0": emailing.id} response = self.client.post(url, data=data) self.assertEqual(200, response.status_code) self.assertEqual([], get_form_errors(response)) self.assertContains(response, contact1.lastname) self.assertNotContains(response, contact2.lastname) self.assertNotContains(response, contact3.lastname) self.assertNotContains(response, contact4.lastname)
def test_search_bounce_several(self): """search contacts with several bounces""" emailing = mommy.make(Emailing, status=Emailing.STATUS_SENDING) contact1 = self._new_contact("ABCD") contact2 = self._new_contact("EFGH") contact3 = self._new_contact("IJKL") for contact in (contact1, contact2, contact3, ): emailing.sent_to.add(contact) emailing.hard_bounce.add(contact1) emailing.soft_bounce.add(contact2) emailing.hard_bounce.add(contact2) emailing.save() url = reverse('search') data = {"gr0-_-emailing_bounce-_-0": emailing.id} response = self.client.post(url, data=data) self.assertEqual(200, response.status_code) self.assertEqual([], get_form_errors(response)) self.assertContains(response, contact1.lastname) self.assertContains(response, contact2.lastname) self.assertNotContains(response, contact3.lastname)
def test_search_sent_to(self): """search contacts who received the emailing""" emailing = mommy.make(Emailing, status=Emailing.STATUS_SENDING) emailing2 = mommy.make(Emailing, status=Emailing.STATUS_SENDING) contact1 = self._new_contact("ABCD") contact2 = self._new_contact("EFGH") contact3 = self._new_contact("IJKL") contact4 = self._new_contact("MNOP") emailing.sent_to.add(contact1) emailing.send_to.add(contact2) emailing.save() emailing2.sent_to.add(contact3) emailing2.save() url = reverse('search') data = {"gr0-_-emailing_sent-_-0": emailing.id} response = self.client.post(url, data=data) self.assertEqual(200, response.status_code) self.assertEqual([], get_form_errors(response)) self.assertContains(response, contact1.lastname) self.assertNotContains(response, contact2.lastname) self.assertNotContains(response, contact3.lastname) self.assertNotContains(response, contact4.lastname)
def test_contact_by_emailing_error(self): """check behavior if emailing id is wrong""" anakin = mommy.make(models.Contact, firstname="Anakin", lastname="Skywalker") obi = mommy.make(models.Contact, firstname="Obi-Wan", lastname="Kenobi") doe = mommy.make(models.Contact, firstname="Doe", lastname="John") url = reverse('search') data = {"gr0-_-emailing_opened-_-0": 333} response = self.client.post(url, data=data) self.assertEqual(200, response.status_code) self.assertNotContains(response, obi.lastname) self.assertNotContains(response, anakin.lastname) self.assertNotContains(response, doe.lastname) self.assertEqual(1, len(get_form_errors(response)))
def test_search_bounce(self): """search contacts with bounce""" emailing = mommy.make(Emailing, status=Emailing.STATUS_SENDING) contact1 = self._new_contact("ABCDabcd") contact2 = self._new_contact("EFGHefg") contact3 = self._new_contact("IJKLijkl") contact4 = self._new_contact("MNOPmnop") contact5 = self._new_contact("QRSTqrst") contact6 = self._new_contact("UVWXuvwx") for contact in (contact1, contact2, contact3, contact4, contact5, contact6): emailing.sent_to.add(contact) emailing.hard_bounce.add(contact1) emailing.soft_bounce.add(contact2) emailing.spam.add(contact3) emailing.unsub.add(contact4) emailing.rejected.add(contact5) emailing.save() url = reverse('search') data = {"gr0-_-emailing_bounce-_-0": emailing.id} response = self.client.post(url, data=data) self.assertEqual(200, response.status_code) self.assertEqual([], get_form_errors(response)) self.assertContains(response, contact1.lastname) self.assertContains(response, contact2.lastname) self.assertContains(response, contact3.lastname) self.assertContains(response, contact4.lastname) self.assertContains(response, contact5.lastname) self.assertNotContains(response, contact6.lastname)
def test_search_bounce(self): """search contacts with bounce""" emailing = mommy.make(Emailing, status=Emailing.STATUS_SENDING) contact1 = self._new_contact("ABCD") contact2 = self._new_contact("EFGH") contact3 = self._new_contact("IJKL") contact4 = self._new_contact("MNOP") contact5 = self._new_contact("QRST") contact6 = self._new_contact("UVWX") for contact in (contact1, contact2, contact3, contact4, contact5, contact6): emailing.sent_to.add(contact) emailing.hard_bounce.add(contact1) emailing.soft_bounce.add(contact2) emailing.spam.add(contact3) emailing.unsub.add(contact4) emailing.rejected.add(contact5) emailing.save() url = reverse('search') data = {"gr0-_-emailing_bounce-_-0": emailing.id} response = self.client.post(url, data=data) self.assertEqual(200, response.status_code) self.assertEqual([], get_form_errors(response)) self.assertContains(response, contact1.lastname) self.assertContains(response, contact2.lastname) self.assertContains(response, contact3.lastname) self.assertContains(response, contact4.lastname) self.assertContains(response, contact5.lastname) self.assertNotContains(response, contact6.lastname)