diff options
Diffstat (limited to 'tests/postgres_tests')
| -rw-r--r-- | tests/postgres_tests/test_aggregates.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/postgres_tests/test_aggregates.py b/tests/postgres_tests/test_aggregates.py index c3df490fcf..c2f38e42b6 100644 --- a/tests/postgres_tests/test_aggregates.py +++ b/tests/postgres_tests/test_aggregates.py @@ -8,6 +8,7 @@ from django.db.models import ( Q, Subquery, Value, + Window, ) from django.db.models.fields.json import KeyTextTransform, KeyTransform from django.db.models.functions import Cast, Concat, Substr @@ -669,6 +670,22 @@ class TestGeneralAggregate(PostgreSQLTestCase): inner_qs.values_list("integer_field", flat=True), ) + def test_window(self): + self.assertCountEqual( + AggregateTestModel.objects.annotate( + integers=Window( + expression=ArrayAgg("char_field"), + partition_by=F("integer_field"), + ) + ).values("integers", "char_field"), + [ + {"integers": ["Foo1", "Foo3"], "char_field": "Foo1"}, + {"integers": ["Foo1", "Foo3"], "char_field": "Foo3"}, + {"integers": ["Foo2"], "char_field": "Foo2"}, + {"integers": ["Foo4"], "char_field": "Foo4"}, + ], + ) + class TestAggregateDistinct(PostgreSQLTestCase): @classmethod |
