summaryrefslogtreecommitdiff
path: root/tests/postgres_tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests/postgres_tests')
-rw-r--r--tests/postgres_tests/test_aggregates.py17
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