def test_vote_down(self): request = self.factory.post("/vote", {"vote": "-1"}) request.user = self.user resp = vote(request, '*****@*****.**', '123') self.assertEqual(resp.status_code, 200) v = Rating.objects.get(user=self.user, messageid="123", list_address='*****@*****.**') self.assertEqual(v.vote, -1) result = json.loads(resp.content) self.assertEqual(result["like"], 0) self.assertEqual(result["dislike"], 1)
def test_vote_cancel(self): v = Rating(list_address="*****@*****.**", messageid="m1", vote=1) v.user = self.user v.save() v = Rating(list_address="*****@*****.**", messageid="m2", vote=-1) v.user = self.user v.save() for msg in ["m1", "m2"]: request = self.factory.post("/vote", {"vote": "0"}) request.user = self.user resp = vote(request, '*****@*****.**', msg) self.assertEqual(resp.status_code, 200) try: Rating.objects.get(user=self.user, messageid=msg, list_address='*****@*****.**') except Rating.DoesNotExist: pass else: self.fail("Vote for msg %s should have been deleted" % msg) result = json.loads(resp.content) self.assertEqual(result["like"], 0) self.assertEqual(result["dislike"], 0)
def test_unauth_vote(self): request = self.factory.post("/vote", {"vote": "1"}) request.user = AnonymousUser() resp = vote(request, '*****@*****.**', '123') self.assertEqual(resp.status_code, 403)