diff --git a/symposion/reviews/tests.py b/symposion/reviews/tests.py index e5fe7cafdee703dcd759f14634e607c964cce53c..07e3cc995d707470fd7798a841c39974e8dab039 100644 --- a/symposion/reviews/tests.py +++ b/symposion/reviews/tests.py @@ -15,44 +15,44 @@ class login(object): success, "login with username=%r, password=%r failed" % (user, password) ) - + def __enter__(self): pass - + def __exit__(self, *args): self.testcase.client.logout() class ReviewTests(TestCase): fixtures = ["proposals"] - + def get(self, url_name, *args, **kwargs): return self.client.get(reverse(url_name, args=args, kwargs=kwargs)) - + def post(self, url_name, *args, **kwargs): data = kwargs.pop("data") return self.client.post(reverse(url_name, args=args, kwargs=kwargs), data) - + def login(self, user, password): return login(self, user, password) - + def test_detail_perms(self): guidos_proposal = Proposal.objects.all()[0] response = self.get("review_detail", pk=guidos_proposal.pk) - + # Not logged in self.assertEqual(response.status_code, 302) - + with self.login("guido", "pythonisawesome"): response = self.get("review_detail", pk=guidos_proposal.pk) # Guido can see his own proposal. self.assertEqual(response.status_code, 200) - + with self.login("matz", "pythonsucks"): response = self.get("review_detail", pk=guidos_proposal.pk) # Matz can't see guido's proposal self.assertEqual(response.status_code, 302) - + larry = User.objects.get(username="larryw") # Larry is a trustworthy guy, he's a reviewer. larry.groups.add(Group.objects.get(name="reviewers")) @@ -60,10 +60,10 @@ class ReviewTests(TestCase): response = self.get("review_detail", pk=guidos_proposal.pk) # Reviewers can see a review detail page. self.assertEqual(response.status_code, 200) - + def test_reviewing(self): guidos_proposal = Proposal.objects.all()[0] - + with self.login("guido", "pythonisawesome"): response = self.post("review_review", pk=guidos_proposal.pk, data={ "vote": "+1", @@ -72,7 +72,7 @@ class ReviewTests(TestCase): self.assertEqual(response.status_code, 302) # ... no vote recorded self.assertEqual(guidos_proposal.reviews.count(), 0) - + larry = User.objects.get(username="larryw") # Larry is a trustworthy guy, he's a reviewer. larry.groups.add(Group.objects.get(name="reviewers")) @@ -90,7 +90,7 @@ class ReviewTests(TestCase): self.assertEqual(guidos_proposal.comments.count(), 1) comment = guidos_proposal.comments.get() self.assertFalse(comment.public) - + response = self.post("review_review", pk=guidos_proposal.pk, data={ "vote": "+1", "text": "Actually Perl is dead, we really need a talk on the future", @@ -100,21 +100,21 @@ class ReviewTests(TestCase): assignment = ReviewAssignment.objects.get() self.assertEqual(assignment.review, Review.objects.order_by("-id")[0]) self.assertEqual(guidos_proposal.comments.count(), 2) - + # Larry's a big fan... response = self.post("review_review", pk=guidos_proposal.pk, data={ "vote": "+20", }) self.assertEqual(guidos_proposal.reviews.count(), 2) - + def test_speaker_commenting(self): guidos_proposal = Proposal.objects.all()[0] - + with self.login("guido", "pythonisawesome"): response = self.get("review_comment", pk=guidos_proposal.pk) # Guido can comment on his proposal. self.assertEqual(response.status_code, 200) - + response = self.post("review_comment", pk=guidos_proposal.pk, data={ "text": "FYI I can do this as a 30-minute or 45-minute talk.", }) @@ -122,7 +122,7 @@ class ReviewTests(TestCase): self.assertEqual(guidos_proposal.comments.count(), 1) comment = guidos_proposal.comments.get() self.assertTrue(comment.public) - + larry = User.objects.get(username="larryw") # Larry is a trustworthy guy, he's a reviewer. larry.groups.add(Group.objects.get(name="reviewers")) @@ -130,13 +130,13 @@ class ReviewTests(TestCase): response = self.get("review_comment", pk=guidos_proposal.pk) # Larry can comment, since he's a reviewer self.assertEqual(response.status_code, 200) - + response = self.post("review_comment", pk=guidos_proposal.pk, data={ "text": "Thanks for the heads-up Guido." }) self.assertEqual(response.status_code, 302) self.assertEqual(guidos_proposal.comments.count(), 2) - + with self.login("matz", "pythonsucks"): response = self.get("review_comment", pk=guidos_proposal.pk) # Matz can't comment.