def test_does_not_send_to_everyone_not_in_list(self): subscribed_people = [] subscribed_people_emails = [] nonsubscribed_people = [] nonsubscribed_people_emails = [] num_subscribers = Factory.rand_int(end=20) num_nonsubscribers = Factory.rand_int(end=20) for i in range(0, num_subscribers): s = Factory.subscription(newsletter=self.newsletter) s.double_opt_in() subscribed_people.append(s) subscribed_people_emails.append(s.person.email) for i in range(0, num_nonsubscribers): p = Factory.person() nonsubscribed_people.append(p) nonsubscribed_people_emails.append(p.email) self.send_newsletter_message() self.assertEquals(len(mail.outbox), num_subscribers) for m in mail.outbox: self.assertEquals(len(m.to), 1) self.assertIn(m.to[0], subscribed_people_emails) self.assertNotIn(m.to[0], nonsubscribed_people_emails)
def create_subscribed_person(self): self.subscription = Factory.subscription() self.person = self.subscription.person self.newsletter = self.subscription.newsletter self.subscription.double_opt_in()