Skip to content

Commit 6bb0a33

Browse files
committed
Fleshed out a review test slightly, and did some refactoring.
- Legacy-Id: 17801
1 parent 6318d49 commit 6bb0a33

1 file changed

Lines changed: 18 additions & 14 deletions

File tree

ietf/group/tests_review.py

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
from ietf.name.models import ReviewResultName, ReviewRequestStateName, ReviewAssignmentStateName, \
2727
ReviewTypeName
2828
import ietf.group.views
29-
from ietf.utils.mail import outbox, empty_outbox
29+
from ietf.utils.mail import outbox, empty_outbox, get_payload_text
3030
from ietf.dbtemplate.factories import DBTemplateFactory
3131
from ietf.person.factories import PersonFactory, EmailFactory
3232
from ietf.doc.factories import DocumentFactory
@@ -538,7 +538,7 @@ def test_email_open_review_assignments(self):
538538
self.assertIn('replytoaddr', outbox[0]["Reply-To"])
539539
self.assertIn('fromaddr', outbox[0]["From"])
540540
self.assertEqual(outbox[0]["subject"], "Test subject")
541-
self.assertIn("Test body", outbox[0].get_payload(decode=True).decode("utf-8"))
541+
self.assertIn("Test body", get_payload_text(outbox[0]))
542542

543543
def test_change_reviewer_settings(self):
544544
reviewer = ReviewerSettingsFactory(person__user__username='reviewer',expertise='Some expertise').person
@@ -586,9 +586,9 @@ def test_change_reviewer_settings(self):
586586
self.assertEqual(settings.expertise, "Some expertise")
587587
self.assertEqual(len(outbox), 1)
588588
self.assertTrue("reviewer availability" in outbox[0]["subject"].lower())
589-
msg_content = outbox[0].get_payload(decode=True).decode("utf-8").lower()
590-
self.assertTrue("frequency changed", msg_content)
591-
self.assertTrue("skip next", msg_content)
589+
msg_content = get_payload_text(outbox[0])
590+
self.assertTrue("Frequency changed", msg_content)
591+
self.assertTrue("Skip next", msg_content)
592592
self.assertTrue("requested to be the next person", msg_content)
593593

594594
# Normal reviewer should not be able to change skip_next
@@ -618,9 +618,10 @@ def test_change_reviewer_settings(self):
618618
self.assertEqual(period.end_date, None)
619619
self.assertEqual(period.availability, "unavailable")
620620
self.assertEqual(len(outbox), 1)
621-
msg_content = outbox[0].get_payload(decode=True).decode("utf-8").lower()
621+
msg_content = get_payload_text(outbox[0])
622622
self.assertTrue(start_date.isoformat(), msg_content)
623623
self.assertTrue("indefinite", msg_content)
624+
self.assertTrue("Whimsy", msg_content)
624625
self.assertEqual(period.reason, "Whimsy")
625626

626627
# end unavailable period
@@ -635,8 +636,10 @@ def test_change_reviewer_settings(self):
635636
period = reload_db_objects(period)
636637
self.assertEqual(period.end_date, end_date)
637638
self.assertEqual(len(outbox), 1)
638-
msg_content = outbox[0].get_payload(decode=True).decode("utf-8").lower()
639+
msg_content = get_payload_text(outbox[0])
640+
self.assertTrue('Set end date', msg_content)
639641
self.assertTrue(start_date.isoformat(), msg_content)
642+
self.assertTrue(end_date.isoformat(), msg_content)
640643
self.assertTrue("indefinite", msg_content)
641644

642645
# delete unavailable period
@@ -648,7 +651,8 @@ def test_change_reviewer_settings(self):
648651
self.assertEqual(r.status_code, 302)
649652
self.assertEqual(UnavailablePeriod.objects.filter(person=reviewer, team=review_req.team, start_date=start_date).count(), 0)
650653
self.assertEqual(len(outbox), 1)
651-
msg_content = outbox[0].get_payload(decode=True).decode("utf-8").lower()
654+
msg_content = get_payload_text(outbox[0])
655+
self.assertTrue('Removed', msg_content)
652656
self.assertTrue(start_date.isoformat(), msg_content)
653657
self.assertTrue(end_date.isoformat(), msg_content)
654658

@@ -749,13 +753,13 @@ def test_review_reminders(self):
749753
empty_outbox()
750754
email_reviewer_reminder(assignment)
751755
self.assertEqual(len(outbox), 1)
752-
self.assertTrue(review_req.doc.name in outbox[0].get_payload(decode=True).decode("utf-8"))
756+
self.assertTrue(review_req.doc.name in get_payload_text(outbox[0]))
753757

754758
# email secretary
755759
empty_outbox()
756760
email_secretary_reminder(assignment, secretary_role)
757761
self.assertEqual(len(outbox), 1)
758-
self.assertTrue(review_req.doc.name in outbox[0].get_payload(decode=True).decode("utf-8"))
762+
self.assertTrue(review_req.doc.name in get_payload_text(outbox[0]))
759763

760764
def test_send_unavaibility_period_ending_reminder(self):
761765
review_team = ReviewTeamFactory(acronym="reviewteam", name="Review Team", type_id="review",
@@ -803,7 +807,7 @@ def test_send_unavaibility_period_ending_reminder(self):
803807
self.assertEqual(len(outbox), 1)
804808
self.assertTrue(reviewer.person.email_address() in outbox[0]["To"])
805809
self.assertTrue(secretary.person.email_address() in outbox[0]["To"])
806-
message = outbox[0].get_payload(decode=True).decode("utf-8")
810+
message = get_payload_text(outbox[0])
807811
self.assertTrue(reviewer.person.name in message)
808812
self.assertTrue(review_team.acronym in message)
809813
self.assertEqual(len(log), 1)
@@ -834,7 +838,7 @@ def test_send_review_reminder_overdue_assignment(self):
834838
self.assertEqual(len(outbox), 1)
835839
self.assertTrue(secretary.person.email_address() in outbox[0]["To"])
836840
self.assertEqual(outbox[0]["Subject"], "1 Overdue review for team {}".format(review_req.team.acronym))
837-
message = outbox[0].get_payload(decode=True).decode("utf-8")
841+
message = get_payload_text(outbox[0])
838842
self.assertIn(review_req.team.acronym + ' has 1 accepted or assigned review overdue by at least 5 days.', message)
839843
self.assertIn('Review of {} by {}'.format(review_req.doc.name, reviewer.plain_name()), message)
840844
self.assertEqual(len(log), 1)
@@ -855,7 +859,7 @@ def test_send_reminder_all_open_reviews(self):
855859
self.assertEqual(len(outbox), 1)
856860
self.assertTrue(reviewer.email_address() in outbox[0]["To"])
857861
self.assertEqual(outbox[0]["Subject"], "Reminder: you have 1 open review assignment")
858-
message = outbox[0].get_payload(decode=True).decode("utf-8")
862+
message = get_payload_text(outbox[0])
859863
self.assertTrue(review_req.team.acronym in message)
860864
self.assertTrue('you have 1 open review' in message)
861865
self.assertTrue(review_req.doc.name in message)
@@ -884,7 +888,7 @@ def test_send_reminder_unconfirmed_assignments(self):
884888
self.assertEqual(len(outbox), 1)
885889
self.assertIn(reviewer.email_address(), outbox[0]["To"])
886890
self.assertEqual(outbox[0]["Subject"], "Reminder: you have not responded to a review assignment")
887-
message = outbox[0].get_payload(decode=True).decode("utf-8")
891+
message = get_payload_text(outbox[0])
888892
self.assertIn(review_req.team.acronym, message)
889893
self.assertIn('accept or reject the assignment on', message)
890894
self.assertIn(review_req.doc.name, message)

0 commit comments

Comments
 (0)