summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/ordering/tests.py36
1 files changed, 20 insertions, 16 deletions
diff --git a/tests/ordering/tests.py b/tests/ordering/tests.py
index 399b8d7035..62ce558a93 100644
--- a/tests/ordering/tests.py
+++ b/tests/ordering/tests.py
@@ -94,24 +94,28 @@ class OrderingTests(TestCase):
with self.assertRaisesMessage(ValueError, msg):
Article.objects.order_by(F("author").desc(nulls_last=True, nulls_first=True))
+ def assertQuerysetEqualReversible(self, queryset, sequence):
+ self.assertSequenceEqual(queryset, sequence)
+ self.assertSequenceEqual(queryset.reverse(), list(reversed(sequence)))
+
def test_order_by_nulls_last(self):
Article.objects.filter(headline="Article 3").update(author=self.author_1)
Article.objects.filter(headline="Article 4").update(author=self.author_2)
# asc and desc are chainable with nulls_last.
- self.assertSequenceEqual(
- Article.objects.order_by(F("author").desc(nulls_last=True)),
+ self.assertQuerysetEqualReversible(
+ Article.objects.order_by(F("author").desc(nulls_last=True), 'headline'),
[self.a4, self.a3, self.a1, self.a2],
)
- self.assertSequenceEqual(
- Article.objects.order_by(F("author").asc(nulls_last=True)),
+ self.assertQuerysetEqualReversible(
+ Article.objects.order_by(F("author").asc(nulls_last=True), 'headline'),
[self.a3, self.a4, self.a1, self.a2],
)
- self.assertSequenceEqual(
- Article.objects.order_by(Upper("author__name").desc(nulls_last=True)),
+ self.assertQuerysetEqualReversible(
+ Article.objects.order_by(Upper("author__name").desc(nulls_last=True), 'headline'),
[self.a4, self.a3, self.a1, self.a2],
)
- self.assertSequenceEqual(
- Article.objects.order_by(Upper("author__name").asc(nulls_last=True)),
+ self.assertQuerysetEqualReversible(
+ Article.objects.order_by(Upper("author__name").asc(nulls_last=True), 'headline'),
[self.a3, self.a4, self.a1, self.a2],
)
@@ -119,20 +123,20 @@ class OrderingTests(TestCase):
Article.objects.filter(headline="Article 3").update(author=self.author_1)
Article.objects.filter(headline="Article 4").update(author=self.author_2)
# asc and desc are chainable with nulls_first.
- self.assertSequenceEqual(
- Article.objects.order_by(F("author").asc(nulls_first=True)),
+ self.assertQuerysetEqualReversible(
+ Article.objects.order_by(F("author").asc(nulls_first=True), 'headline'),
[self.a1, self.a2, self.a3, self.a4],
)
- self.assertSequenceEqual(
- Article.objects.order_by(F("author").desc(nulls_first=True)),
+ self.assertQuerysetEqualReversible(
+ Article.objects.order_by(F("author").desc(nulls_first=True), 'headline'),
[self.a1, self.a2, self.a4, self.a3],
)
- self.assertSequenceEqual(
- Article.objects.order_by(Upper("author__name").asc(nulls_first=True)),
+ self.assertQuerysetEqualReversible(
+ Article.objects.order_by(Upper("author__name").asc(nulls_first=True), 'headline'),
[self.a1, self.a2, self.a3, self.a4],
)
- self.assertSequenceEqual(
- Article.objects.order_by(Upper("author__name").desc(nulls_first=True)),
+ self.assertQuerysetEqualReversible(
+ Article.objects.order_by(Upper("author__name").desc(nulls_first=True), 'headline'),
[self.a1, self.a2, self.a4, self.a3],
)