review test and fixes review crud api

This commit is contained in:
alex 2019-11-21 11:12:52 +03:00
parent e303e15f32
commit bebdf1e269
3 changed files with 48 additions and 2 deletions

View File

@ -14,7 +14,9 @@ class ReviewBaseSerializer(serializers.ModelSerializer):
'child',
'published_at',
'vintage',
'country'
'country',
'content_type',
'object_id',
)

View File

@ -19,6 +19,7 @@ class BaseTestCase(APITestCase):
username=self.username,
email=self.email,
password=self.password,
is_staff=True,
)
tokens = User.create_jwt_tokens(self.user)
@ -61,6 +62,49 @@ class BaseTestCase(APITestCase):
)
class ReviewTestCase(BaseTestCase):
def setUp(self):
super().setUp()
def test_review_list(self):
response = self.client.get('/api/back/review/')
self.assertEqual(response.status_code, status.HTTP_200_OK)
def test_review_post(self):
test_review = {
'reviewer': self.user.id,
'status': Review.READY,
'vintage': 2019,
'country': self.country_ru.id,
'object_id': 1,
'content_type': 1,
}
response = self.client.post('/api/back/review/', data=test_review)
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
def test_review_detail(self):
response = self.client.get(f'/api/back/review/{self.test_review.id}/', format='json')
self.assertEqual(response.status_code, status.HTTP_200_OK)
def test_review_detail_put(self):
data = {
'id': self.test_review.id,
'vintage': 2018,
'reviewer': self.user.id,
'status': Review.READY,
'country': self.country_ru.id,
'object_id': 1,
'content_type': 1,
}
response = self.client.put(f'/api/back/review/{self.test_review.id}/', data=data, format='json')
self.assertEqual(response.status_code, status.HTTP_200_OK)
def test_review_delete(self):
response = self.client.delete(f'/api/back/review/{self.test_review.id}/')
self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)
class InquiriesTestCase(BaseTestCase):
def setUp(self):
super().setUp()

View File

@ -18,7 +18,7 @@ class ReviewRUDView(generics.RetrieveUpdateDestroyAPIView):
"""Comment RUD view."""
serializer_class = serializers.ReviewBaseSerializer
queryset = models.Review.objects.all()
permission_classes = [IsReviewerManager | IsRestaurantReviewer]
permission_classes = [permissions.IsAdminUser | IsReviewerManager | IsRestaurantReviewer]
lookup_field = 'id'