summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorNick Pope <nick.pope@flightdataservices.com>2018-08-16 01:14:37 +0100
committerTim Graham <timograham@gmail.com>2018-08-16 16:18:09 -0400
commitb523d42561c7832e6d5d7a4a2dcb5fb650b24fb5 (patch)
tree948dabaf7100748c01a10ddc28a07768f9f66ab3 /tests
parent5c3db0ef6a9aeaa9ba81262aee67fa918b9545f1 (diff)
Reorganized datetime db function tests.
Diffstat (limited to 'tests')
-rw-r--r--tests/db_functions/datetime/__init__.py0
-rw-r--r--tests/db_functions/datetime/test_extract_trunc.py (renamed from tests/db_functions/test_datetime.py)2
-rw-r--r--tests/db_functions/datetime/test_now.py46
-rw-r--r--tests/db_functions/tests.py48
4 files changed, 49 insertions, 47 deletions
diff --git a/tests/db_functions/datetime/__init__.py b/tests/db_functions/datetime/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/tests/db_functions/datetime/__init__.py
diff --git a/tests/db_functions/test_datetime.py b/tests/db_functions/datetime/test_extract_trunc.py
index 07b6b0438a..077690630b 100644
--- a/tests/db_functions/test_datetime.py
+++ b/tests/db_functions/datetime/test_extract_trunc.py
@@ -17,7 +17,7 @@ from django.test import (
)
from django.utils import timezone
-from .models import Author, DTModel, Fan
+from ..models import Author, DTModel, Fan
def truncate_to(value, kind, tzinfo=None):
diff --git a/tests/db_functions/datetime/test_now.py b/tests/db_functions/datetime/test_now.py
new file mode 100644
index 0000000000..d7b43609b2
--- /dev/null
+++ b/tests/db_functions/datetime/test_now.py
@@ -0,0 +1,46 @@
+from datetime import datetime, timedelta
+
+from django.db.models.functions import Now
+from django.test import TestCase
+from django.utils import timezone
+
+from ..models import Article
+
+lorem_ipsum = """
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
+ tempor incididunt ut labore et dolore magna aliqua."""
+
+
+class NowTests(TestCase):
+
+ def test_basic(self):
+ a1 = Article.objects.create(
+ title='How to Django',
+ text=lorem_ipsum,
+ written=timezone.now(),
+ )
+ a2 = Article.objects.create(
+ title='How to Time Travel',
+ text=lorem_ipsum,
+ written=timezone.now(),
+ )
+ num_updated = Article.objects.filter(id=a1.id, published=None).update(published=Now())
+ self.assertEqual(num_updated, 1)
+ num_updated = Article.objects.filter(id=a1.id, published=None).update(published=Now())
+ self.assertEqual(num_updated, 0)
+ a1.refresh_from_db()
+ self.assertIsInstance(a1.published, datetime)
+ a2.published = Now() + timedelta(days=2)
+ a2.save()
+ a2.refresh_from_db()
+ self.assertIsInstance(a2.published, datetime)
+ self.assertQuerysetEqual(
+ Article.objects.filter(published__lte=Now()),
+ ['How to Django'],
+ lambda a: a.title
+ )
+ self.assertQuerysetEqual(
+ Article.objects.filter(published__gt=Now()),
+ ['How to Time Travel'],
+ lambda a: a.title
+ )
diff --git a/tests/db_functions/tests.py b/tests/db_functions/tests.py
index 746fa0e1fb..9c06735377 100644
--- a/tests/db_functions/tests.py
+++ b/tests/db_functions/tests.py
@@ -1,15 +1,8 @@
-from datetime import datetime, timedelta
-
from django.db.models import CharField, Value as V
-from django.db.models.functions import Coalesce, Length, Now, Upper
+from django.db.models.functions import Coalesce, Length, Upper
from django.test import TestCase
-from django.utils import timezone
-
-from .models import Article, Author
-lorem_ipsum = """
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
- tempor incididunt ut labore et dolore magna aliqua."""
+from .models import Author
class FunctionTests(TestCase):
@@ -36,43 +29,6 @@ class FunctionTests(TestCase):
lambda a: a.name
)
- def test_now(self):
- ar1 = Article.objects.create(
- title='How to Django',
- text=lorem_ipsum,
- written=timezone.now(),
- )
- ar2 = Article.objects.create(
- title='How to Time Travel',
- text=lorem_ipsum,
- written=timezone.now(),
- )
-
- num_updated = Article.objects.filter(id=ar1.id, published=None).update(published=Now())
- self.assertEqual(num_updated, 1)
-
- num_updated = Article.objects.filter(id=ar1.id, published=None).update(published=Now())
- self.assertEqual(num_updated, 0)
-
- ar1.refresh_from_db()
- self.assertIsInstance(ar1.published, datetime)
-
- ar2.published = Now() + timedelta(days=2)
- ar2.save()
- ar2.refresh_from_db()
- self.assertIsInstance(ar2.published, datetime)
-
- self.assertQuerysetEqual(
- Article.objects.filter(published__lte=Now()),
- ['How to Django'],
- lambda a: a.title
- )
- self.assertQuerysetEqual(
- Article.objects.filter(published__gt=Now()),
- ['How to Time Travel'],
- lambda a: a.title
- )
-
def test_func_transform_bilateral(self):
class UpperBilateral(Upper):
bilateral = True