From 9860287a6fa9cf1403f7dc6192e441ad515ad269 Mon Sep 17 00:00:00 2001
From: Mark Skipper <marks@aptivate.org>
Date: Fri, 19 Jun 2015 21:52:59 +0100
Subject: [PATCH] Add data model list handler and tests

---
 django/website/data_layer/handlers.py            |  5 +++++
 django/website/data_layer/tests/handler_tests.py | 12 ++++++++++++
 2 files changed, 17 insertions(+)

diff --git a/django/website/data_layer/handlers.py b/django/website/data_layer/handlers.py
index df9c23be..2d31bff1 100644
--- a/django/website/data_layer/handlers.py
+++ b/django/website/data_layer/handlers.py
@@ -6,3 +6,8 @@ class Message(object):
     @classmethod
     def create(cls, message):
         models.Message(**message).save()
+
+    @classmethod
+    def list(cls):
+        # TODO: I think we should probably use a DRF serializer here
+        return models.Message.objects.values().iterator()
diff --git a/django/website/data_layer/tests/handler_tests.py b/django/website/data_layer/tests/handler_tests.py
index 52e264eb..99345a65 100644
--- a/django/website/data_layer/tests/handler_tests.py
+++ b/django/website/data_layer/tests/handler_tests.py
@@ -20,3 +20,15 @@ class HandlerTests(TestCase):
         outmessage = models.Message.objects.get()
         self.assertEqual(outmessage.body, "Text")
         self.assertEqual(outmessage.timestamp, now)
+
+    def test_message_list_empty(self):
+        messages = handlers.Message.list()
+        self.assertEqual(len(list(messages)), 0)
+
+    def test_message_list_one(self):
+        models.Message(body="Test").save()
+
+        [message] = handlers.Message.list()
+
+        self.assertEqual(message['body'], "Test")
+
-- 
GitLab