def test_notification_not_stale(self): """ Test that email is not send, if the user is not stale. """ self.user_attendance = UserAttendanceRecipe.make( campaign=testing_campaign, team__campaign=testing_campaign, approved_for_team='approved', userprofile__user__email='*****@*****.**', last_sync_time='2017-05-03 12:00:00', user_trips=[ mommy.make( 'Trip', date='2017-05-02', commute_mode_id=1, direction='trip_to', ), ], transactions=[ mommy.make( "Payment", status=99, realized=datetime.date(2017, 2, 1), amount=100, ), ], ) self.user_attendance.save() mail.outbox = [] mail_count = tasks.send_unfilled_rides_notification(campaign_slug="testing-campaign") self.assertEqual(mail_count, 0) self.assertEqual(len(mail.outbox), 0) self.user_attendance.last_sync_time = datetime.datetime(2017, 5, 2, 12, 0, 0) self.user_attendance.save() mail_count = tasks.send_unfilled_rides_notification(campaign_slug="testing-campaign") self.assertEqual(mail_count, 1) self.assertEqual(len(mail.outbox), 1)
def test_notification_with_rides(self): """Test that no email is send, if the user has recent rides""" self.user_attendance = UserAttendanceRecipe.make( campaign=testing_campaign, team__campaign=testing_campaign, approved_for_team="approved", user_trips=[ mommy.make( "Trip", date="2017-05-03", commute_mode_id=1, direction="trip_to", ), ], transactions=[ mommy.make( "Payment", status=99, realized=datetime.date(2017, 2, 1), amount=100, ), ], ) self.user_attendance.save() mail_count = tasks.send_unfilled_rides_notification( campaign_slug="testing-campaign") self.assertEqual(mail_count, 0) self.assertEqual(len(mail.outbox), 0)
def test_notification_pks(self): """Test that email is send, if the user has't got rides in last 5 days""" self.user_attendance = UserAttendanceRecipe.make( campaign=testing_campaign, team__campaign=testing_campaign, approved_for_team="approved", userprofile__user__email="*****@*****.**", user_trips=[ mommy.make( "Trip", date="2017-05-02", commute_mode_id=1, direction="trip_to", ), ], transactions=[ mommy.make( "Payment", status=99, realized=datetime.date(2017, 2, 1), amount=100, ), ], ) self.user_attendance.save() mail_count = tasks.send_unfilled_rides_notification( pks=[self.user_attendance.id], campaign_slug="testing-campaign", ) self.assertEqual(mail_count, 1)
def test_notification(self): """ Test that email is send, if the user has't got rides in last 5 days """ self.user_attendance = UserAttendanceRecipe.make( campaign=testing_campaign, team__campaign=testing_campaign, approved_for_team='approved', userprofile__user__email='*****@*****.**', user_trips=[ mommy.make( 'Trip', date='2017-05-02', commute_mode_id=1, direction='trip_to', ), ], transactions=[ mommy.make( "Payment", status=99, realized=datetime.date(2017, 2, 1), amount=100, ), ], ) self.user_attendance.save() mail.outbox = [] mail_count = tasks.send_unfilled_rides_notification(campaign_slug="testing-campaign") self.assertEqual(mail_count, 1) self.assertEqual(len(mail.outbox), 1) msg = mail.outbox[0] self.assertEqual(msg.recipients(), ['*****@*****.**']) self.assertEqual(str(mail.outbox[0].subject), "Testing campaign - připomenutí nevyplněných jízd")
def test_notification_not_paid(self): """ Test that email is send, if the user didn't pay. """ self.user_attendance = UserAttendanceRecipe.make( campaign=testing_campaign, team__campaign=testing_campaign, approved_for_team='approved', user_trips=[ mommy.make( 'Trip', date='2017-05-02', commute_mode_id=1, direction='trip_to', ), ], ) self.user_attendance.save() mail_count = tasks.send_unfilled_rides_notification(campaign_slug="testing-campaign") self.assertEqual(mail_count, 0) self.assertEqual(len(mail.outbox), 0)
def test_notification(self): """Test that email is send, if the user has't got rides in last 5 days""" self.user_attendance = UserAttendanceRecipe.make( campaign=testing_campaign, team__campaign=testing_campaign, approved_for_team="approved", userprofile__user__email="*****@*****.**", user_trips=[ mommy.make( "Trip", date="2017-05-02", commute_mode_id=1, direction="trip_to", ), ], transactions=[ mommy.make( "Payment", status=99, realized=datetime.date(2017, 2, 1), amount=100, ), ], ) self.user_attendance.save() mail.outbox = [] mail_count = tasks.send_unfilled_rides_notification( campaign_slug="testing-campaign") self.assertEqual(mail_count, 1) self.assertEqual(len(mail.outbox), 1) msg = mail.outbox[0] self.assertEqual(msg.recipients(), ["*****@*****.**"]) self.assertEqual( str(mail.outbox[0].subject), "[Testing campaign 2019] Poslední šance doplnit jízdy", )