Skip to content
Snippets Groups Projects
Commit 27f93740 authored by Jay Alvarez's avatar Jay Alvarez
Browse files

Merge remote-tracking branch 'origin/missing_columns' into theming

parents 580e8338 19dbce88
No related branches found
No related tags found
No related merge requests found
......@@ -94,6 +94,7 @@ def test_get_categories_filters_out_removed():
@pytest.fixture
def request_item():
'''Create item and request'''
msg = {'body': "Message text"}
transport.items.create(msg)
......
......@@ -63,7 +63,7 @@ USE_L10N = True
# See: https://docs.djangoproject.com/en/dev/ref/settings/#use-tz
USE_TZ = True
SHORT_DATETIME_FORMAT = 'D d/m/y H:i'
SHORT_DATETIME_FORMAT = 'd M Y H:i'
# TODO this is used in hid/tables.py
# and should probably use FORMAT_MODULE_PATH instead.?
......
from django.core.urlresolvers import reverse
from django.utils.dateparse import parse_datetime
from rest_framework.test import APIRequestFactory
from rest_framework import status
from rest_api.views import ItemViewSet
......@@ -32,7 +33,22 @@ def list(**kwargs):
# FIXME: currently only body exact filtering is supported
view = get_view()
request = request_factory.get(url(), kwargs)
return view(request).data
items = view(request).data
date_fields = ('created', 'timestamp')
for item in items:
item_dict = dict(item)
for date_field in date_fields:
value = item_dict[date_field]
if value is not None:
item_dict[date_field] = parse_datetime(value)
item.update(item_dict)
return items
def create(item):
......
from __future__ import unicode_literals, absolute_import
from datetime import datetime
import pytest
from data_layer.tests.factories import ItemFactory
......@@ -31,3 +33,32 @@ def test_list_items_filters_by_body():
assert len(items) == 1
[item] = items
assert item['body'] == 'one'
@pytest.mark.django_db
def test_date_fields_are_converted_to_datetimes():
stored_item = ItemFactory()
retrieved_items = transport.items.list()
[retrieved_item] = retrieved_items
date_fields = ('timestamp', 'created')
for date_field in date_fields:
stored_date = getattr(stored_item, date_field).replace(
microsecond=0 # MySQL discards microseconds
)
assert stored_date == retrieved_item[date_field]
@pytest.mark.django_db
def test_null_date_field_not_converted_to_datetime():
ItemFactory(timestamp=None)
retrieved_items = transport.items.list()
[retrieved_item] = retrieved_items
assert retrieved_item['timestamp'] is None
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment