Beispiel #1
0
def poll_list(request):
    """
    List all snippets, or create a new snippet.
    """
    if request.method == 'GET':
        snippets = Poll.objects.all()
        serializer = PollSerializer(snippets, many=True)
        return Response(serializer.data)

    elif request.method == 'POST':
        serializer = PollSerializer(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)
Beispiel #2
0
def poll_detail(request, pk):
    """
    Retrieve, update or delete a snippet instance.
    """
    try:
        snippet = Poll.objects.get(pk=pk)
    except Poll.DoesNotExist:
        return Response(status=status.HTTP_404_NOT_FOUND)

    if request.method == 'GET':
        serializer = PollSerializer(snippet)
        return Response(serializer.data)

    elif request.method == 'PUT':
        serializer = PollSerializer(snippet, data=request.data)
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

    elif request.method == 'DELETE':
        snippet.delete()
        return Response(status=status.HTTP_204_NO_CONTENT)
Beispiel #3
0
    def test_poll_serializer(self):
        # write
        option = PollOptionFactory.create()
        user = UserFactory.create()
        data = {
            'option': str(option.id),
            'user': str(user.id),
        }

        serializer = PollSerializer(data=data)
        serializer.is_valid(raise_exception=True)
        poll = serializer.save()
        self.assertEqual(poll.option, option)
        self.assertEqual(poll.user, user)

        # no read
        data = PollSerializer(poll).data
        self.assertEqual(data, {})