diff options
Diffstat (limited to 'tests/postgres_tests')
| -rw-r--r-- | tests/postgres_tests/test_aggregates.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/postgres_tests/test_aggregates.py b/tests/postgres_tests/test_aggregates.py index 07e4ea0101..f6f48fdd61 100644 --- a/tests/postgres_tests/test_aggregates.py +++ b/tests/postgres_tests/test_aggregates.py @@ -111,6 +111,24 @@ class TestGeneralAggregate(PostgreSQLTestCase): self.assertEqual(values, {'stringagg': ''}) +class TestStringAggregateDistinct(PostgreSQLTestCase): + @classmethod + def setUpTestData(cls): + AggregateTestModel.objects.create(char_field='Foo') + AggregateTestModel.objects.create(char_field='Foo') + AggregateTestModel.objects.create(char_field='Bar') + + def test_string_agg_distinct_false(self): + values = AggregateTestModel.objects.aggregate(stringagg=StringAgg('char_field', delimiter=' ', distinct=False)) + self.assertEqual(values['stringagg'].count('Foo'), 2) + self.assertEqual(values['stringagg'].count('Bar'), 1) + + def test_string_agg_distinct_true(self): + values = AggregateTestModel.objects.aggregate(stringagg=StringAgg('char_field', delimiter=' ', distinct=True)) + self.assertEqual(values['stringagg'].count('Foo'), 1) + self.assertEqual(values['stringagg'].count('Bar'), 1) + + class TestStatisticsAggregate(PostgreSQLTestCase): @classmethod def setUpTestData(cls): |
