def test_really_old_users_dont_get_it(self): with override_service('time', FakeTimeProvider): user = create_user() Services.time.step(60*60*24) self.assertTrue(user in send_24h_email.recipients()) Services.time.step(60*60*24*30) # a month later. self.assertFalse(user in send_24h_email.recipients())
def test_really_old_users_dont_get_it(self): with override_service('time', FakeTimeProvider): user = create_user() Services.time.step(60 * 60 * 24) self.assertTrue(user in send_24h_email.recipients()) Services.time.step(60 * 60 * 24 * 30) # a month later. self.assertFalse(user in send_24h_email.recipients())
def test_already_received(self): with override_service('time', FakeTimeProvider): # Create dummy first, so count of users and count of recipients is unequal. create_user() Services.time.step(60*60*48) user = create_user() self.assertFalse(user in send_24h_email.recipients()) Services.time.step(60*60*48) WelcomeEmailRecipient.objects.create(recipient=user) recipients = send_24h_email.recipients() self.assertFalse(user in recipients) self.assertFalse(recipients)
def test_already_received(self): with override_service('time', FakeTimeProvider): # Create dummy first, so count of users and count of recipients is unequal. create_user() Services.time.step(60 * 60 * 48) user = create_user() self.assertFalse(user in send_24h_email.recipients()) Services.time.step(60 * 60 * 48) WelcomeEmailRecipient.objects.create(recipient=user) recipients = send_24h_email.recipients() self.assertFalse(user in recipients) self.assertFalse(recipients)
def test_send_email_happens_once_per_recipient(self): with override_service('time', FakeTimeProvider): user = create_staff() Services.time.step(60*60*24) (recipient,) = send_24h_email.recipients() self.assertEqual(recipient, user) with override_service('metrics', FakeMetrics): def send(): for user in send_24h_email.recipients(): send_24h_email.send_welcome_email(user) self.assertEqual(0, len(Services.metrics.email_sent.records)) send() self.assertEqual(1, len(Services.metrics.email_sent.records), "The digest email wasn't sent.") send() self.assertEqual(1, len(Services.metrics.email_sent.records), "The email was sent twice.")
def test_send_email_happens_once_per_recipient(self): with override_service('time', FakeTimeProvider): user = create_staff() Services.time.step(60 * 60 * 24) (recipient, ) = send_24h_email.recipients() self.assertEqual(recipient, user) with override_service('metrics', FakeMetrics): def send(): for user in send_24h_email.recipients(): send_24h_email.send_welcome_email(user) self.assertEqual(0, len(Services.metrics.email_sent.records)) send() self.assertEqual(1, len(Services.metrics.email_sent.records), "The digest email wasn't sent.") send() self.assertEqual(1, len(Services.metrics.email_sent.records), "The email was sent twice.")
def send(): for user in send_24h_email.recipients(): send_24h_email.send_welcome_email(user)
def test_not_yet_receieved(self): with override_service('time', FakeTimeProvider): user = create_user() Services.time.step(60*60*24) recipients = send_24h_email.recipients() self.assertTrue(user in recipients)
def test_not_yet_receieved(self): with override_service('time', FakeTimeProvider): user = create_user() Services.time.step(60 * 60 * 24) recipients = send_24h_email.recipients() self.assertTrue(user in recipients)