Example #1
0
def test_list_comments(api_client, db, comment_factory):
    assert api_client.get('/comments/').json() == []

    first_comment = comment_factory()

    response = api_client.get('/comments/')
    comments = response.json()
    assert comments == [serializers.CommentSerializer(first_comment).data]
Example #2
0
    def create(self, request, *args, **kwargs):
        review = get_object_or_404(models.Review,
                                   id=self.kwargs.get("review_id"))
        serializer = serializers.CommentSerializer(data=request.data)

        if serializer.is_valid():
            serializer.save(author=request.user, review=review)
            return Response(serializer.data, status=status.HTTP_201_CREATED)

        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Example #3
0
    def get(self, request):
        comments = cache.CommentCache().get()

        page = self.paginate_queryset(comments)
        if page is not None:
            serializer = self.get_serializer(page, many=True)
            return self.get_paginated_response(serializer.data)

        serializer = serializers.CommentSerializer(comments, many=True)
        return Response(serializer.data)
    def list(self, request, *args, **kwargs):
        """
            Returns a list of comments of the same
            subject as the subject of the user

        :return: response with new queryset
        """
        if request.user.is_authenticated():
            queryset = \
                Comment.objects.filter(subject=request.user.subject.first())
        else:
            queryset = Comment.objects.all()

        serializer = \
            serializers.CommentSerializer(queryset, many=True,
                                          context={'request': request})
        return Response(serializer.data)
Example #5
0
 def post(self, request):
     serializer = serializers.CommentSerializer(data=request.data)
     if serializer.is_valid():
         serializer.save()
         return Response(serializer.data, status=status.HTTP_201_CREATED)
     return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)