def test_mark_setting(self): users = [User.objects.get(username='******')] all_users = User.objects.all() FeedbackMail.set_marks("test_title", users) mark = Mark.objects.get() self.assertEqual(set(users), set([mu.user for mu in mark.given_to.all()])) self.assertNotEqual(set(all_users), set([mu.user for mu in mark.given_to.all()]))
def test_first_mail(self): feedback_relation = self.create_feedback_relation() message = FeedbackMail.generate_message(feedback_relation, self.logger) self.assertEqual(message.status, "First message") self.assertTrue(message.send) self.assertTrue(feedback_relation.first_mail_sent)
def test_deadline_passeed(self): feedback_relation = self.create_feedback_relation( deadline=self.yesterday().date()) message = FeedbackMail.generate_message(feedback_relation, self.logger) self.assertEqual(message.status, "Deadine passed") self.assertFalse(feedback_relation.active)
def test_warning(self): feedback_relation = self.create_feedback_relation( deadline=timezone.now().date() + timedelta(days=2)) message = FeedbackMail.generate_message(feedback_relation, self.logger) self.assertEqual(message.status, "Warning message") self.assertTrue(message.send)
def test_user_answered(self): feedback_relation = self.create_feedback_relation() feedback_relation.answered.set([self.user1]) message = FeedbackMail.generate_message(feedback_relation, self.logger) not_answered = [self.user2.email] self.assertEqual(set(message.attended_mails), set(not_answered))
def test_event_not_done(self): feedback_relation = self.create_feedback_relation( end_date=timezone.now()) message = FeedbackMail.generate_message(feedback_relation, self.logger) self.assertEqual(message.status, "Event not done") self.assertFalse(message.send)
def test_no_message(self): feedback_relation = self.create_feedback_relation( end_date=timezone.now() - timedelta(days=2)) feedback_relation.first_mail_sent = True message = FeedbackMail.generate_message(feedback_relation, self.logger) self.assertEqual(message.status, "No message generated") self.assertFalse(message.send)
def test_everyone_answered(self): feedback_relation = self.create_feedback_relation() feedback_relation.answered.set([self.user1, self.user2]) message = FeedbackMail.generate_message(feedback_relation, self.logger) self.assertEqual(message.status, 'Everyone has answered') self.assertFalse(message.send) self.assertFalse(feedback_relation.active)
def test_committee_mails(self): organizer_group: OnlineGroup = G(OnlineGroup, email="*****@*****.**") feedback_relation = self.create_feedback_relation( organizer=organizer_group.group) email = FeedbackMail.get_committee_email(feedback_relation) self.assertEqual(email, organizer_group.email) # Default feedback_relation = self.create_feedback_relation() email = FeedbackMail.get_committee_email(feedback_relation) self.assertEqual(email, settings.DEFAULT_FROM_EMAIL) # Not existing feedback_relation = self.create_void_feedback_relation() email = FeedbackMail.get_committee_email(feedback_relation) self.assertEqual(email, "missing mail")
def test_group_email(self): # Feedback email should be be to the organizing committee organizer_group: Group = G(Group) online_group: OnlineGroup = G(OnlineGroup, group=organizer_group, email='*****@*****.**') feedback_relation = self.create_feedback_relation( event_type=1, organizer=organizer_group) email = FeedbackMail.get_committee_email(feedback_relation) self.assertEqual(email, online_group.email) self.assertNotEqual(email, settings.EMAIL_ARRKOM)
def test_users_mail_addresses(self): feedback_relation = self.create_feedback_relation() # The below if user.id check is due to Django Guardian middleware needing an AnonymousUser, that has ID -1 user_mails = [ user.email for user in User.objects.all() if user.username != settings.ANONYMOUS_USER_NAME ] message = FeedbackMail.generate_message(feedback_relation, self.logger) self.assertEqual(set(message.attended_mails), set(user_mails))
def test_committee_mails(self): # Sosialt feedback_relation = self.create_feedback_relation(event_type=1) email = FeedbackMail.get_committee_email(feedback_relation) self.assertEqual(email, settings.EMAIL_ARRKOM) # Bedkom feedback_relation = self.create_feedback_relation( ) # Default param is event_type=2 email = FeedbackMail.get_committee_email(feedback_relation) self.assertEqual(email, settings.EMAIL_BEDKOM) # Kurs feedback_relation = self.create_feedback_relation(event_type=3) email = FeedbackMail.get_committee_email(feedback_relation) self.assertEqual(email, settings.EMAIL_FAGKOM) # Utflukt feedback_relation = self.create_feedback_relation(event_type=4) email = FeedbackMail.get_committee_email(feedback_relation) self.assertEqual(email, settings.EMAIL_ARRKOM) # Ekskursjon feedback_relation = self.create_feedback_relation(event_type=5) email = FeedbackMail.get_committee_email(feedback_relation) self.assertEqual(email, settings.EMAIL_EKSKOM) # Default feedback_relation = self.create_feedback_relation(event_type=6) email = FeedbackMail.get_committee_email(feedback_relation) self.assertEqual(email, settings.DEFAULT_FROM_EMAIL) # Not existing feedback_relation = self.create_void_feedback_relation() email = FeedbackMail.get_committee_email(feedback_relation) self.assertEqual(email, "missing mail")
def test_void_date(self): feedback_relation = self.create_void_feedback_relation() end_date = FeedbackMail.end_date(feedback_relation) self.assertFalse(end_date)
def test_date(self): feedback_relation = self.create_feedback_relation() date = FeedbackMail.end_date(feedback_relation) self.assertEqual(date, self.yesterday().date())