From 47ff64a97636a54f24b05337cb2355bedab75b1f Mon Sep 17 00:00:00 2001
From: Mark Skipper <marks@aptivate.org>
Date: Fri, 26 Jun 2015 15:12:00 +0100
Subject: [PATCH] Switch to generic api view for Items

byepassing data_layer.handlers, but I think they are
getting in the way of DRF goodness now.
---
 django/website/rest_api/tests/item_view_tests.py |  9 +--------
 django/website/rest_api/views.py                 | 12 ++++++------
 2 files changed, 7 insertions(+), 14 deletions(-)

diff --git a/django/website/rest_api/tests/item_view_tests.py b/django/website/rest_api/tests/item_view_tests.py
index f5055c57..76db3975 100644
--- a/django/website/rest_api/tests/item_view_tests.py
+++ b/django/website/rest_api/tests/item_view_tests.py
@@ -1,5 +1,4 @@
 from __future__ import unicode_literals, absolute_import
-from mock import patch
 
 from django.test import TestCase
 from rest_api.views import ItemList
@@ -11,14 +10,8 @@ class HandlerTests(TestCase):
 
     factory = APIRequestFactory()
 
-    # TODO: mock handler.Item.list() to return something plausible and check
-    # that gets returned.
-    @patch('data_layer.handlers.Message.list')
-    def test_get_items(self, message_list):
-        message_list.return_value = []
-
+    def test_get_items_returns_empty_if_no_items(self):
         request = self.factory.get('/items/')
         view = ItemList.as_view()
         response = view(request)
-
         self.assertEqual(response.data, [])
diff --git a/django/website/rest_api/views.py b/django/website/rest_api/views.py
index 8919f771..d2d7aa18 100644
--- a/django/website/rest_api/views.py
+++ b/django/website/rest_api/views.py
@@ -1,9 +1,9 @@
-from rest_framework import views, response
-from data_layer import handlers
+from rest_framework import generics
+from data_layer.models import Item
+from data_layer.serializers import ItemSerializer
 
 
-class ItemList(views.APIView):
+class ItemList(generics.ListAPIView):
 
-    def get(self, request, format=None):
-        items = handlers.Item.list()
-        return response.Response(items)
+    queryset = Item.objects.all()
+    serializer_class = ItemSerializer
-- 
GitLab