diff --git a/tests/main/test_main.py b/tests/main/test_main.py index 79a1897..d2fa877 100644 --- a/tests/main/test_main.py +++ b/tests/main/test_main.py @@ -119,6 +119,28 @@ class MailingListTreeTestCase(TestCase): self.assertEqual(mwo[self.users[j]], set(self.mls[i : j + 1])) +@pytest.mark.django_db +def test_admin_mailing_list(admin, client): + users = [] + mls = [] + for i in range(20): + users.append(User.objects.create(username='%s' % i)) + sublist = [] + for i in range(19, -1, -1): + mls.insert(0, MailingList.objects.create(name='%s' % i)) + mls[0].members.set([users[i]]) + mls[0].mailing_list_members.set(sublist) + sublist = [mls[0]] + + client.login(username='admin', password='admin') + from django.db import connection as conn + from django.test.utils import CaptureQueriesContext + + with CaptureQueriesContext(conn) as context: + resp = client.get('/admin/docbow/mailinglist/?q=' + ('a%20' * 10)) + assert context[-1]['sql'].count('UPPER') == 80 + + class MailingListCycle(TestCase): '''Test mailing lists member resolution in a cyclic setup.''' diff --git a/tox.ini b/tox.ini index de52e4d..1a1c4ef 100644 --- a/tox.ini +++ b/tox.ini @@ -6,7 +6,7 @@ envlist = {pw,pfwb,mellon,pfwbmellon},codestyle usedevelop = True deps = django>=3.2.12,<3.3 - pfwb: SQLAlchemy-Utils + pfwb,pfwbmellon: SQLAlchemy-Utils mellon: django-mellon pfwbmellon: django-mellon -r test-requirements.txt