diff --git a/backend/secfit/comments/tests.py b/backend/secfit/comments/tests.py index 367af6105c6903d2277578fdf964a57899709ff6..4302f808d326056803088aed0d7cae8a11caa708 100644 --- a/backend/secfit/comments/tests.py +++ b/backend/secfit/comments/tests.py @@ -24,15 +24,37 @@ class CommentsTestCase(TestCase): post = self.client.post(self.commentURL,({"workout":self.workout1URL,"content":"asd"}),format='json') self.assertEquals(post.status_code,201) - def testGetComments(self): + def testGetPublicComments(self): Workout.objects.create(id="1",name="workout",date=timezone.now(),owner=self.user_1, visibility="PU") - Workout.objects.create(id="2",name="workout",date=timezone.now(),owner=self.user_2, visibility="PR") post = self.client.post(self.commentURL,({"workout":self.workout1URL,"content":"asd"}),format='json') self.assertEquals(post.status_code,201) + user1get = self.client.get("http://testserver/api/comments/") + datadict = dict(user1get.data) + self.assertEquals(len(datadict["results"]), 1) + user2get = self.client2.get("http://testserver/api/comments/") + datadict2 = dict(user2get.data) + self.assertEquals(len(datadict2["results"]), 1) + + def testGetPrivateComments(self): + Workout.objects.create(id="2",name="workout",date=timezone.now(),owner=self.user_2, visibility="PR") self.client2.post(self.commentURL,({"workout":"http://testserver/api/workouts/2/","content":"assdsdd"}),format='json') user1get = self.client.get("http://testserver/api/comments/") datadict = dict(user1get.data) + self.assertEquals(len(datadict["results"]), 0) + user2get = self.client2.get("http://testserver/api/comments/") + datadict2 = dict(user2get.data) + self.assertEquals(len(datadict2["results"]), 1) + + def testGetCoachComment(self): + User.objects.create(id="3",username="Bill3",password="secret", email="hei2", coach=self.user_1) + self.user_3 = User.objects.get(id="3") + self.client3 = APIClient() + self.client3.force_authenticate(user=self.user_3) + Workout.objects.create(id="3",name="workout",date=timezone.now(),owner=self.user_3, visibility="CO") + self.client3.post(self.commentURL,({"workout":"http://testserver/api/workouts/3/","content":"asd"}),format='json') + user1get = self.client.get("http://testserver/api/comments/") + datadict = dict(user1get.data) self.assertEquals(len(datadict["results"]), 1) user2get = self.client2.get("http://testserver/api/comments/") datadict2 = dict(user2get.data) - self.assertEquals(len(datadict2["results"]), 2) \ No newline at end of file + self.assertEquals(len(datadict2["results"]), 0) diff --git a/backend/secfit/users/tests.py b/backend/secfit/users/tests.py index c7081b5975f97b1a146bfafa777bc1d5904de107..30cf609519f5272a80f12c49bc70e49b216506c0 100644 --- a/backend/secfit/users/tests.py +++ b/backend/secfit/users/tests.py @@ -727,3 +727,41 @@ class Register2WayDomainTestCase(TestCase): try: self.assertEquals((status == 201),expectedstatus) except AssertionError: failures.append({field1:value1,field2:value2}) print(failures) + +class offerlistTestCase(TestCase): + + def setUp(self): + User.objects.create(id="1",username="Bill",password="secret", email="hei") + self.user_1 = User.objects.get(id="1") + self.client = APIClient() + self.client.force_authenticate(user=self.user_1) + User.objects.create(id="2",username="Bill2",password="secret", email="hei1") + self.user_2 = User.objects.get(id="2") + self.client2 = APIClient() + self.client2.force_authenticate(user=self.user_2) + User.objects.create(id="3",username="Bill1",password="secret", email="hei2") + self.user_3 = User.objects.get(id="3") + self.client3 = APIClient() + self.client3.force_authenticate(user=self.user_3) + self.recURL = "http://testserver/api/offers/?status=p&category=received" + self.sentURL = "http://testserver/api/offers/?status=p&category=sent" + + def test_recipient(self): + post = self.client.post("http://testserver/api/offers/",{"status":"p","recipient":"http://testserver/api/users/2/"},format='json') + self.assertEquals(post.status_code, 201) + get = self.client.get(self.recURL) + self.assertEquals(dict(get.data)["count"],0) + get = self.client2.get(self.recURL) + self.assertEquals(dict(get.data)["count"],1) + get = self.client3.get(self.recURL) + self.assertEquals(dict(get.data)["count"],0) + + def test_sent(self): + post = self.client.post("http://testserver/api/offers/",{"status":"p","recipient":"http://testserver/api/users/2/"},format='json') + self.assertEquals(post.status_code, 201) + get = self.client.get(self.sentURL) + self.assertEquals(dict(get.data)["count"],1) + get = self.client2.get(self.sentURL) + self.assertEquals(dict(get.data)["count"],0) + get = self.client3.get(self.sentURL) + self.assertEquals(dict(get.data)["count"],0) \ No newline at end of file diff --git a/backend/secfit/users/views.py b/backend/secfit/users/views.py index 86050eb6d71198306a2732dcac99b516e066ba73..9e81f3b6cf7758ded0c2c2fdefc876ea6588a286 100644 --- a/backend/secfit/users/views.py +++ b/backend/secfit/users/views.py @@ -1,7 +1,6 @@ import django -from rest_framework import mixins, generics +from rest_framework import mixins, generics, permissions from workouts.mixins import CreateListModelMixin -from rest_framework import permissions from users.serializers import ( UserSerializer, OfferSerializer,