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.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/postgres_tests/test_aggregates.py b/tests/postgres_tests/test_aggregates.py
index 885512cfca..ddd3b6bbd0 100644
--- a/tests/postgres_tests/test_aggregates.py
+++ b/tests/postgres_tests/test_aggregates.py
@@ -334,6 +334,22 @@ class TestGeneralAggregate(PostgreSQLTestCase):
)
self.assertCountEqual(qs, [[], [5]])
+ def test_array_agg_with_empty_filter_and_default_values(self):
+ for filter_value in ([-1], []):
+ for default_value in ([], Value([])):
+ with self.subTest(filter=filter_value, default=default_value):
+ queryset = AggregateTestModel.objects.annotate(
+ test_array_agg=ArrayAgg(
+ "stattestmodel__int1",
+ filter=Q(pk__in=filter_value),
+ default=default_value,
+ )
+ )
+ self.assertSequenceEqual(
+ queryset.values_list("test_array_agg", flat=True),
+ [[], [], [], []],
+ )
+
def test_bit_and_general(self):
values = AggregateTestModel.objects.filter(integer_field__in=[0, 1]).aggregate(
bitand=BitAnd("integer_field")