Improved review linebreaking tests, based on [13495] from olau@iola.dk.

- Legacy-Id: 13511
Note: SVN reference [13495] has been migrated to Git commit 1a59cf60d3
This commit is contained in:
Henrik Levkowetz 2017-06-04 15:14:56 +00:00
commit 08f134bf52

View file

@ -660,10 +660,12 @@ class ReviewTests(TestCase):
"state": ReviewRequestStateName.objects.get(slug="part-completed").pk,
"reviewed_rev": review_req.doc.rev,
"review_submission": "enter",
"review_content": "This is a review\nwith two lines",
"review_content": "This is a review with a somewhat long line spanning over 80 characters to test word wrapping\nand another line",
})
self.assertEqual(r.status_code, 302)
review_req = reload_db_objects(review_req)
self.assertEqual(review_req.state_id, "part-completed")
self.assertTrue(review_req.doc.rev in review_req.review.name)
@ -675,12 +677,17 @@ class ReviewTests(TestCase):
self.assertTrue(review_req.team.list_email in outbox[1]["To"])
self.assertTrue("partial review" in outbox[1]["Subject"].lower())
self.assertTrue("This is a review" in outbox[1].get_payload(decode=True).decode("utf-8"))
body = outbox[1].get_payload(decode=True).decode("utf-8")
self.assertTrue("This is a review" in body)
# This review has a line longer than 80, but less than 100; it should
# not be wrapped.
self.assertTrue(not any( len(line) > 100 for line in body.splitlines() ))
self.assertTrue(any( len(line) > 80 for line in body.splitlines() ))
first_review = review_req.review
first_reviewer = review_req.reviewer
# complete
review_req = ReviewRequest.objects.get(state="requested", doc=review_req.doc, team=review_req.team)
self.assertEqual(review_req.reviewer, None)
@ -694,7 +701,7 @@ class ReviewTests(TestCase):
"state": ReviewRequestStateName.objects.get(slug="completed").pk,
"reviewed_rev": review_req.doc.rev,
"review_submission": "enter",
"review_content": "This is another review\nwith\nthree lines",
"review_content": "This is another review with a really, really, really, really, really, really, really, really, really, really long line.",
})
self.assertEqual(r.status_code, 302)
@ -705,6 +712,13 @@ class ReviewTests(TestCase):
self.assertTrue(first_review.name != second_review.name)
self.assertTrue(second_review.name.endswith("-2")) # uniquified
# This review has a line longer than 100; it should be wrapped to less
# than 80.
body = outbox[2].get_payload(decode=True).decode("utf-8")
self.assertIn('really, really, really', body)
self.assertTrue(not any( len(line) > 80 for line in body.splitlines() ))
def test_revise_review_enter_content(self):
review_req, url = self.setup_complete_review_test()
review_req.state = ReviewRequestStateName.objects.get(slug="no-response")