예제 #1
0
    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()]))
예제 #2
0
    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)
예제 #3
0
    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)
예제 #4
0
    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)
예제 #5
0
    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))
예제 #6
0
    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)
예제 #7
0
    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)
예제 #8
0
    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)
예제 #9
0
    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")
예제 #10
0
 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)
예제 #11
0
    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))
예제 #12
0
    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")
예제 #13
0
 def test_void_date(self):
     feedback_relation = self.create_void_feedback_relation()
     end_date = FeedbackMail.end_date(feedback_relation)
     self.assertFalse(end_date)
예제 #14
0
 def test_date(self):
     feedback_relation = self.create_feedback_relation()
     date = FeedbackMail.end_date(feedback_relation)
     self.assertEqual(date, self.yesterday().date())