def test_handle_new_signups(self, *args): signup_models.create_or_update_signup('*****@*****.**', {'q1':'a1', 'q2':'a2', 'q3':'a3'}) self.assertEqual(len(signup_models.get_new_signups()), 1) with patch('signup.models.mailgun_api.send_mass_email') as send_email: signup_models.handle_new_signups() self.assertTrue(send_email.called) self.assertEqual(len(signup_models.get_new_signups()), 0)
def test_handle_new_signups(self, add_list_member, delete_all_unsubscribes): signup_models.create_or_update_signup('*****@*****.**', {'q1':'a1', 'q2':'a2', 'q3':'a3'}) self.assertEqual(len(signup_models.get_new_signups()), 1) with patch('signup.models.mailgun_api.send_mass_email') as send_email: signup_models.handle_new_signups() self.assertTrue(send_email.called) self.assertTrue(add_list_member.called) self.assertTrue(delete_all_unsubscribes.called) self.assertEqual(len(signup_models.get_new_signups()), 0)
def test_handle_new_signups(self, *args): signup_models.create_or_update_signup('*****@*****.**', { 'q1': 'a1', 'q2': 'a2', 'q3': 'a3' }) self.assertEqual(len(signup_models.get_new_signups()), 1) with patch('signup.models.emails.send_welcome_emails') as send_email: signup_models.handle_new_signups() self.assertTrue(send_email.called) self.assertEqual(len(signup_models.get_new_signups()), 0)
def test_scale_signups(self, blah, send_email, add_list_member): for signup in randata.random_data(2000): signup_models.create_or_update_signup(**signup) signups = len(signup_models.get_new_signups()) with patch('signup.models.sequence_model.sequence_list_name', lambda x: '*****@*****.**'): signup_models.handle_new_signups() self.assertTrue(send_email.called) self.assertEqual(send_email.call_count, math.ceil(signups/500.0)) self.assertTrue(add_list_member.called) self.assertEqual(add_list_member.call_count, signups) self.assertEqual(len(signup_models.get_new_signups()), 0)
def test_scale_signups(self, blah, send_email, add_list_member): for signup in randata.random_data(2000): signup_models.create_or_update_signup(**signup) signups = len(signup_models.get_new_signups()) with patch('signup.models.sequence_model.sequence_list_name', lambda x: '*****@*****.**'): signup_models.handle_new_signups() self.assertTrue(send_email.called) self.assertEqual(send_email.call_count, math.ceil(signups / 500.0)) self.assertTrue(add_list_member.called) self.assertEqual(add_list_member.call_count, signups) self.assertEqual(len(signup_models.get_new_signups()), 0)
def test_handle_new_signups(self, add_list_member, delete_all_unsubscribes): signup_models.create_or_update_signup('*****@*****.**', { 'q1': 'a1', 'q2': 'a2', 'q3': 'a3' }) self.assertEqual(len(signup_models.get_new_signups()), 1) with patch('signup.models.mailgun_api.send_mass_email') as send_email: signup_models.handle_new_signups() self.assertTrue(send_email.called) self.assertTrue(add_list_member.called) self.assertTrue(delete_all_unsubscribes.called) self.assertEqual(len(signup_models.get_new_signups()), 0)
def test_delete_signup(self): signup_models.create_or_update_signup('*****@*****.**', { 'q1': 'a1', 'q2': 'a2', 'q3': 'a3' }) signup_models.create_or_update_signup('*****@*****.**', { 'q1': 'ar1', 'q2': 'ar2' }) signup_models.create_or_update_signup('*****@*****.**', { 'q1': 'ar1', 'q2': 'ar2' }) signup_models.create_or_update_signup('*****@*****.**', { 'q1': 'ar1', 'q2': 'ar2' }) signup_models.create_or_update_signup('*****@*****.**', { 'q1': 'ar1', 'q2': 'ar2' }) self.assertEqual(len(signup_models.get_signups()), 4) new_signups = signup_models.get_new_signups() self.assertIn('*****@*****.**', [s['email'] for s in new_signups]) signup_models.delete_signup('*****@*****.**') signups = signup_models.get_signups() self.assertEqual(len(signups), 3) self.assertNotIn('*****@*****.**', [s['email'] for s in signups]) new_signups = signup_models.get_new_signups() self.assertNotIn('*****@*****.**', [s['email'] for s in new_signups]) signup_models.create_or_update_signup('*****@*****.**', { 'q1': 'ar1', 'q2': 'ar2' }) self.assertEqual(len(signup_models.get_signups()), 4) new_signups = signup_models.get_new_signups() self.assertIn('*****@*****.**', [s['email'] for s in new_signups])
def test_delete_signup(self): signup_models.create_or_update_signup('*****@*****.**', {'q1':'a1', 'q2':'a2', 'q3':'a3'}) signup_models.create_or_update_signup('*****@*****.**', {'q1':'ar1', 'q2':'ar2'}) signup_models.create_or_update_signup('*****@*****.**', {'q1':'ar1', 'q2':'ar2'}) signup_models.create_or_update_signup('*****@*****.**', {'q1':'ar1', 'q2':'ar2'}) signup_models.create_or_update_signup('*****@*****.**', {'q1':'ar1', 'q2':'ar2'}) self.assertEqual(len(signup_models.get_signups(1)), 4) new_signups = signup_models.get_new_signups() self.assertIn('*****@*****.**', [s['email'] for s in new_signups]) signup_models.delete_signup('*****@*****.**', 1) signups = signup_models.get_signups(1) self.assertEqual(len(signups), 3) self.assertNotIn('*****@*****.**', [s['email'] for s in signups]) new_signups = signup_models.get_new_signups() self.assertNotIn('*****@*****.**', [s['email'] for s in new_signups]) signup_models.create_or_update_signup('*****@*****.**', {'q1':'ar1', 'q2':'ar2'}) self.assertEqual(len(signup_models.get_signups(1)), 4) new_signups = signup_models.get_new_signups() self.assertIn('*****@*****.**', [s['email'] for s in new_signups])