I'm writing tests for my django rest app and I'm wondering if these are considered unit tests. I was told I should write integration and unit tests but I'm not sure how to test the app with the integration tests (if the tests I've already written are unit tests).
This is my test view:
from django.urls import reverse
from rest_framework import status
from rest_framework.test import APITestCase
from todo.models import Task
class CreateTaskTest(APITestCase):
def setUp(self):
self.data = {'title': 'title', 'description': 'desc', 'completed': False}
def test_can_create_task(self):
response = self.client.post(reverse('task-list'), self.data)
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
class ListTaskTest(APITestCase):
def setUp(self):
self.data = {'title': 'title', 'description': 'desc', 'completed': False}
def test_can_list_task(self):
response = response = self.client.get(reverse('task-list'), self.data)
self.assertEqual(response.status_code, status.HTTP_200_OK)
class DeleteTaskTest(APITestCase):
def setUp(self):
self.data = Task.objects.create(title= 'title', description= 'desc', completed= False)
def test_can_delete_task(self):
response = self.client.delete(reverse('task-detail', args=(self.data.pk,)))
self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)
class RetrieveTaskDetailsTest(APITestCase):
def setUp(self):
self.data = Task.objects.create(title= 'title', description= 'desc', completed= False)
def test_can_retrieve_task_details(self):
response = self.client.get(reverse('task-detail', args=(self.data.pk,)))
self.assertEqual(response.status_code, status.HTTP_200_OK)
This is my view:
from rest_framework import generics, filters
from todo import models
from .serializers import TaskSerializer
from django_filters.rest_framework import DjangoFilterBackend
class ListTask(generics.ListCreateAPIView):
"""
API view to retrieve list of tasks or create new tasks
"""
queryset = models.Task.objects.all()
serializer_class = TaskSerializer
filter_backends = [DjangoFilterBackend, filters.SearchFilter]
filterset_fields = ['date']
search_fields = ['description']
class DetailTask(generics.RetrieveDestroyAPIView):
"""
API view to retrieve or delete a task
"""
queryset = models.Task.objects.all()
serializer_class = TaskSerializer
How can I write an integration test, what am I supposed to be testing?
Aucun commentaire:
Enregistrer un commentaire