summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorRustam Kashapov <hardtechnik91@gmail.com>2016-05-15 12:53:16 +0300
committerTim Graham <timograham@gmail.com>2016-06-02 13:48:35 -0400
commitdf8412d2e5c95fe8c8238ebde8e0dbb68fe2ec1d (patch)
tree58495dcfbed508cc58456b44e32bf97cbbeb46a1 /tests
parent149ace94dfc10504a0e69462c7737f5ce05340a4 (diff)
Fixed #26617 -- Added distinct argument to contrib.postgres's StringAgg.
Diffstat (limited to 'tests')
-rw-r--r--tests/postgres_tests/test_aggregates.py18
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):