From f2fbca0d3cf766b832a9447feb5810ddc0d9a928 Mon Sep 17 00:00:00 2001 From: Valentin Deniaud Date: Wed, 15 Feb 2023 17:50:38 +0100 Subject: [PATCH] manager: add explicit ordering to role table (#65159) --- src/authentic2/manager/tables.py | 1 + tests/test_role_manager.py | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/src/authentic2/manager/tables.py b/src/authentic2/manager/tables.py index f8892ef5b..629050f02 100644 --- a/src/authentic2/manager/tables.py +++ b/src/authentic2/manager/tables.py @@ -183,6 +183,7 @@ class RoleTable(Table): model = Role attrs = {'class': 'main clickable-rows', 'id': 'role-table'} fields = ('name', 'slug', 'ou', 'member_count') + order_by = ('name',) class PermissionTable(Table): diff --git a/tests/test_role_manager.py b/tests/test_role_manager.py index bdbbf96d2..ee8df7c94 100644 --- a/tests/test_role_manager.py +++ b/tests/test_role_manager.py @@ -642,3 +642,22 @@ def test_role_members_user_role_add_remove(app, superuser, settings, simple_role form = resp.forms['add-member'] form['user_or_role'].force_value(invalid_choice) resp = form.submit().maybe_follow() + + +def test_role_table_ordering(app, admin): + Role.objects.create(name='a role') + Role.objects.create(name='bD role') + Role.objects.create(name='A role', slug='a-role-2') + Role.objects.create(name='Z role') + Role.objects.create(name='É role') + Role.objects.create(name='Bc role') + + resp = login(app, admin, '/manage/roles/') + assert [x.text for x in resp.pyquery('td.name a')] == [ + 'a role', + 'A role', + 'Bc role', + 'bD role', + 'É role', + 'Z role', + ] -- 2.39.0