diff options
| author | Rustam Kashapov <hardtechnik91@gmail.com> | 2016-05-15 12:53:16 +0300 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2016-06-02 13:48:35 -0400 |
| commit | df8412d2e5c95fe8c8238ebde8e0dbb68fe2ec1d (patch) | |
| tree | 58495dcfbed508cc58456b44e32bf97cbbeb46a1 /tests | |
| parent | 149ace94dfc10504a0e69462c7737f5ce05340a4 (diff) | |
Fixed #26617 -- Added distinct argument to contrib.postgres's StringAgg.
Diffstat (limited to '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): |
