|
@@ -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):
|