From 4c9f667de3cb8e4acbb2fc539fd6d7bbe53ba465 Mon Sep 17 00:00:00 2001 From: Chris Hill-Scott Date: Fri, 9 Nov 2018 16:04:49 +0000 Subject: [PATCH] Sort folders alphabetically To match the order in which templates are sorted. --- app/models/service.py | 5 ++++- tests/app/main/views/test_template_folders.py | 4 ++-- tests/app/main/views/test_templates.py | 4 ++-- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/app/models/service.py b/app/models/service.py index d24abdd47..7780347f4 100644 --- a/app/models/service.py +++ b/app/models/service.py @@ -289,7 +289,10 @@ class Service(): @cached_property def all_template_folders(self): - return template_folder_api_client.get_template_folders(self.id) + return sorted( + template_folder_api_client.get_template_folders(self.id), + key=lambda folder: folder['name'].lower(), + ) @cached_property def all_template_folder_ids(self): diff --git a/tests/app/main/views/test_template_folders.py b/tests/app/main/views/test_template_folders.py index cfc33d07c..9628b6a95 100644 --- a/tests/app/main/views/test_template_folders.py +++ b/tests/app/main/views/test_template_folders.py @@ -133,10 +133,10 @@ def test_should_show_templates_folder_page( ): mock_get_template_folders.return_value = [ - {'id': PARENT_FOLDER_ID, 'name': 'folder_one', 'parent_id': None}, {'id': str(uuid.uuid4()), 'name': 'folder_two', 'parent_id': None}, - {'id': CHILD_FOLDER_ID, 'name': 'folder_one_one', 'parent_id': PARENT_FOLDER_ID}, + {'id': PARENT_FOLDER_ID, 'name': 'folder_one', 'parent_id': None}, {'id': str(uuid.uuid4()), 'name': 'folder_one_two', 'parent_id': PARENT_FOLDER_ID}, + {'id': CHILD_FOLDER_ID, 'name': 'folder_one_one', 'parent_id': PARENT_FOLDER_ID}, ] service_one['permissions'] += ['letter', 'edit_folders'] diff --git a/tests/app/main/views/test_templates.py b/tests/app/main/views/test_templates.py index f82512854..1a57db7e5 100644 --- a/tests/app/main/views/test_templates.py +++ b/tests/app/main/views/test_templates.py @@ -252,10 +252,10 @@ def test_should_show_radio_buttons_for_move_destination( assert radios == page.select('input[name=move_to]') assert [x['value'] for x in radios] == [ - PARENT_FOLDER_ID, FOLDER_TWO_ID, CHILD_FOLDER_ID, FOLDER_ONE_TWO_ID + PARENT_FOLDER_ID, CHILD_FOLDER_ID, FOLDER_ONE_TWO_ID, FOLDER_TWO_ID, ] assert [x.text.strip() for x in labels] == [ - 'folder_one', 'folder_two', 'folder_one_one', 'folder_one_two' + 'folder_one', 'folder_one_one', 'folder_one_two', 'folder_two', ] assert page.select_one('button[name=operation]')['value'] == 'move'