diff --git a/django/website/transport/data_layer_transport.py b/django/website/transport/data_layer_transport.py index 9d3def0dc23b65a94f45d26aac3210ab50022169..113ed64560ac7e2197c5d76552860ca02b82a9ca 100644 --- a/django/website/transport/data_layer_transport.py +++ b/django/website/transport/data_layer_transport.py @@ -1,6 +1,5 @@ from rest_framework.test import APIRequestFactory -from data_layer.handlers import Message from rest_api.views import ItemList @@ -9,5 +8,8 @@ def get_messages(**kwargs): # TODO rename get_items view = ItemList.as_view() return view(request).data -def create_message(message): # TODO rename create_item - Message.create(message) + +def create_message(item): # TODO rename create_item + view = ItemList.as_view() + request = APIRequestFactory().post('/items', item) + return view(request) diff --git a/django/website/transport/tests/item_create_tests.py b/django/website/transport/tests/item_create_tests.py index 604356fea6bf96bee259d9e7cba32651aef1da78..aec0155c075a6443378853d8086d29c0dcb023b0 100644 --- a/django/website/transport/tests/item_create_tests.py +++ b/django/website/transport/tests/item_create_tests.py @@ -1,12 +1,22 @@ +from __future__ import unicode_literals, absolute_import import pytest +from transport import data_layer_transport as dl +from django.utils import timezone +from data_layer.models import Item -@pytest.mark.xfail + +@pytest.mark.django_db def test_create_message_creates_item(): - # now = timezone.now().replace( - # microsecond=0 # MySQL discards microseconds - # ) - # item = {'body': "Text", 'timestamp': now} - # dl.create_message(item) - # create.assert_called_with(message) - assert False + now = timezone.now().replace( + microsecond=0 # MySQL discards microseconds + ) + item = {'body': "Text", 'timestamp': now} + old_count = Item.objects.count() + + response = dl.create_message(item) + + assert response.status_code == 201 + assert 'id' in response.data + new_count = Item.objects.count() + assert new_count > old_count