summaryrefslogtreecommitdiff
path: root/tests/get_earliest_or_latest
diff options
context:
space:
mode:
authorSelwin Ong <selwin.ong@gmail.com>2013-05-21 18:35:12 +0300
committerAnssi Kääriäinen <akaariai@gmail.com>2013-05-21 18:52:28 +0300
commitea9a0857d4922fab1f9146f3a7828b67281edc89 (patch)
tree0e4b9751c8731a839f1dfeb06f6d63dc25b05eda /tests/get_earliest_or_latest
parentd595b61acae91e6111ec26cb0a4a1b1a9f4eb0d5 (diff)
Fixed #19326 -- Added first() and last() methods to QuerySet
Diffstat (limited to 'tests/get_earliest_or_latest')
-rw-r--r--tests/get_earliest_or_latest/tests.py31
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/get_earliest_or_latest/tests.py b/tests/get_earliest_or_latest/tests.py
index 6317a0974c..8d16af9587 100644
--- a/tests/get_earliest_or_latest/tests.py
+++ b/tests/get_earliest_or_latest/tests.py
@@ -121,3 +121,34 @@ class EarliestOrLatestTests(TestCase):
p2 = Person.objects.create(name="Stephanie", birthday=datetime(1960, 2, 3))
self.assertRaises(AssertionError, Person.objects.latest)
self.assertEqual(Person.objects.latest("birthday"), p2)
+
+ def test_first(self):
+ p1 = Person.objects.create(name="Bob", birthday=datetime(1950, 1, 1))
+ p2 = Person.objects.create(name="Alice", birthday=datetime(1961, 2, 3))
+ self.assertEqual(
+ Person.objects.first(), p1)
+ self.assertEqual(
+ Person.objects.order_by('name').first(), p2)
+ self.assertEqual(
+ Person.objects.filter(birthday__lte=datetime(1955, 1, 1)).first(),
+ p1)
+ self.assertIs(
+ Person.objects.filter(birthday__lte=datetime(1940, 1, 1)).first(),
+ None)
+
+ def test_last(self):
+ p1 = Person.objects.create(
+ name="Alice", birthday=datetime(1950, 1, 1))
+ p2 = Person.objects.create(
+ name="Bob", birthday=datetime(1960, 2, 3))
+ # Note: by default PK ordering.
+ self.assertEqual(
+ Person.objects.last(), p2)
+ self.assertEqual(
+ Person.objects.order_by('-name').last(), p1)
+ self.assertEqual(
+ Person.objects.filter(birthday__lte=datetime(1955, 1, 1)).last(),
+ p1)
+ self.assertIs(
+ Person.objects.filter(birthday__lte=datetime(1940, 1, 1)).last(),
+ None)