diff --git a/django/website/rest_api/tests/item_view_tests.py b/django/website/rest_api/tests/item_view_tests.py index 76db397522902e554eea5cd53ef13d72d8bef9f8..14a9f9ee4904dcfd33805235cb4f7014bd9d3222 100644 --- a/django/website/rest_api/tests/item_view_tests.py +++ b/django/website/rest_api/tests/item_view_tests.py @@ -1,17 +1,31 @@ from __future__ import unicode_literals, absolute_import from django.test import TestCase -from rest_api.views import ItemList - from rest_framework.test import APIRequestFactory +from data_layer.tests.factories import ItemFactory + +from rest_api.views import ItemList + -class HandlerTests(TestCase): +class ItemViewTests(TestCase): - factory = APIRequestFactory() + def get(self, view_class, url): + view = view_class.as_view() + request = APIRequestFactory().get(url) + return view(request) def test_get_items_returns_empty_if_no_items(self): - request = self.factory.get('/items/') - view = ItemList.as_view() - response = view(request) + response = self.get(ItemList, '/items/') self.assertEqual(response.data, []) + + def test_get_items_returns_all_items(self): + item = ItemFactory() + + payload = self.get(ItemList, '/items/').data + + self.assertEqual(len(payload), 1) + self.assertEqual(payload[0]['body'], item.body) + # I don't much care for this test. + # It's testing too much of the stack, and its messy because the payload + # isn't the same kind data strcture even as ItemSerializer(item).data