The API built using DRF needs:
- Router – connect requests to ViewSet
- ViewSet – What am I getting from the database and displaying?
- Serializer – How am I turning the data into a JSON object
from rest_framework import APITestCase
class TestMyModelViewset(APITestCase):
def setUp(self):
self.url = reverse('mymodel-list')
self.instances = [MyModel() for i in range(3)]
for item in self.instances:
item.save()
def test_list_view(self):
response = self.client.get(self.url, format='json')
self.assertEqual(response.status_code, 200)
self.assertEqual(len(response.data), 3)
def test_can_create(self):
data = ('name': 'test name', 'category': 1)
response = self.client.post(self.url, data, format='json')
self.assertEqual(response.status_code, 201)
def test_detail_view(self):
sample_id = MyModel.objects.first().id
detail_url = self.url + '/' + str(sample_id)
response = self.client.get(detail_url, format='json')
self.assertEqual(response.status_code, 200)