summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/expressions_window/tests.py26
1 files changed, 24 insertions, 2 deletions
diff --git a/tests/expressions_window/tests.py b/tests/expressions_window/tests.py
index fb14e56349..fd674e319b 100644
--- a/tests/expressions_window/tests.py
+++ b/tests/expressions_window/tests.py
@@ -354,6 +354,29 @@ class WindowFunctionTests(TestCase):
transform=lambda row: (row.name, row.bonus, row.department, row.lag),
)
+ def test_order_by_decimalfield(self):
+ qs = Employee.objects.annotate(
+ rank=Window(expression=Rank(), order_by="bonus")
+ ).order_by("-bonus", "id")
+ self.assertQuerySetEqual(
+ qs,
+ [
+ ("Miller", 250.0, 12),
+ ("Johnson", 200.0, 11),
+ ("Wilkinson", 150.0, 10),
+ ("Smith", 137.5, 9),
+ ("Brown", 132.5, 8),
+ ("Adams", 125.0, 7),
+ ("Jones", 112.5, 5),
+ ("Jenson", 112.5, 5),
+ ("Johnson", 100.0, 4),
+ ("Smith", 95.0, 3),
+ ("Williams", 92.5, 2),
+ ("Moore", 85.0, 1),
+ ],
+ transform=lambda row: (row.name, float(row.bonus), row.rank),
+ )
+
def test_first_value(self):
qs = Employee.objects.annotate(
first_value=Window(
@@ -1934,8 +1957,7 @@ class NonQueryWindowTests(SimpleTestCase):
)
self.assertEqual(
repr(Window(expression=Avg("salary"), order_by=F("department").asc())),
- "<Window: Avg(F(salary)) OVER (OrderByList(OrderBy(F(department), "
- "descending=False)))>",
+ "<Window: Avg(F(salary)) OVER (OrderBy(F(department), descending=False))>",
)
def test_window_frame_repr(self):