diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/expressions_window/tests.py | 26 |
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): |
