so I'm very new to writing test cases and I'm confused as to why my test in failing. Here is the view:
from rest_framework import generics, filters
from todo import models
from .serializers import TaskSerializer
from django_filters.rest_framework import DjangoFilterBackend
#lists, creates and filters tasks
class ListTask(generics.ListCreateAPIView):
queryset = models.Task.objects.all()
serializer_class = TaskSerializer
filter_backends = [DjangoFilterBackend, filters.SearchFilter]
filterset_fields = ['date']
search_fields = ['description']
Here is the test view:
from django.test import TestCase
from rest_framework.test import APITestCase, APIRequestFactory
from rest_framework import status
from todo.views import ListTask, DetailTask
class ListTaskViewTest(APITestCase):
def setUp(self):
self.data = {'title':'Any title', 'description': 'Any description', 'Completed':False, 'date':'Any date'}
self.factory = APIRequestFactory()
def test_create_task(self):
response = self.create_task()
expected_code = status.HTTP_201_CREATED
self.assertEqual(response.status_code, expected_code)
response = self.client.get('')
expected_data = {'id':1, 'title': 'supermarket', 'description':'buy fruit','completed':False}
self.assertEqual(len(response.data), 1)
entry = response.data[0]
self.assertEqual(entry, expected_data)
Why does create_task not work and what should I replace it with? I thought since I had ListCreateAPIView I could use it for my test but it seems I cannot. Any help would be very useful.
Aucun commentaire:
Enregistrer un commentaire