diff --git a/app/assets/javascripts/liveSearch.js b/app/assets/javascripts/liveSearch.js index f244e79b6..0968156c0 100644 --- a/app/assets/javascripts/liveSearch.js +++ b/app/assets/javascripts/liveSearch.js @@ -9,7 +9,7 @@ $targets.each(function() { - let content = $(this).text(); + let content = $('.live-search-relevant', this).text() || $(this).text(); if (query == '') { $(this).css('display', ''); diff --git a/app/templates/views/templates/_template_list.html b/app/templates/views/templates/_template_list.html index e4fe60476..a6e7fb212 100644 --- a/app/templates/views/templates/_template_list.html +++ b/app/templates/views/templates/_template_list.html @@ -28,11 +28,11 @@ {% endfor %} {% if item.is_folder %} - {{ item.name }} + {{ item.name }} {% else %} - {{ item.name }} + {{ item.name }} {% endif %} diff --git a/tests/app/main/views/test_template_folders.py b/tests/app/main/views/test_template_folders.py index 6151febb4..84ec435ba 100644 --- a/tests/app/main/views/test_template_folders.py +++ b/tests/app/main/views/test_template_folders.py @@ -108,6 +108,7 @@ def test_post_add_template_folder_page(client_request, service_one, mocker, pare 'expected_nav_links,' 'expected_items, ' 'expected_displayed_items, ' + 'expected_searchable_text, ' 'expected_empty_message ' ), [ @@ -142,6 +143,21 @@ def test_post_add_template_folder_page(client_request, service_one, mocker, pare 'letter_template_one Letter template', 'letter_template_two Letter template', ], + [ + 'folder_one', + 'folder_one_one', + 'folder_one_one_one', + 'sms_template_nested', + 'letter_template_nested', + 'folder_one_two', + 'folder_two', + 'sms_template_one', + 'sms_template_two', + 'email_template_one', + 'email_template_two', + 'letter_template_one', + 'letter_template_two', + ], None, ), ( @@ -163,6 +179,14 @@ def test_post_add_template_folder_page(client_request, service_one, mocker, pare 'sms_template_one Text message template', 'sms_template_two Text message template', ], + [ + 'folder_one', + 'folder_one_one', + 'folder_one_one_one', + 'sms_template_nested', + 'sms_template_one', + 'sms_template_two', + ], None, ), ( @@ -182,6 +206,13 @@ def test_post_add_template_folder_page(client_request, service_one, mocker, pare 'folder_one_one 1 template, 1 folder', 'folder_one_two Empty', ], + [ + 'folder_one_one', + 'folder_one_one_one', + 'sms_template_nested', + 'letter_template_nested', + 'folder_one_two', + ], None, ), ( @@ -198,6 +229,11 @@ def test_post_add_template_folder_page(client_request, service_one, mocker, pare [ 'folder_one_one 1 folder', ], + [ + 'folder_one_one', + 'folder_one_one_one', + 'sms_template_nested', + ], None, ), ( @@ -208,6 +244,7 @@ def test_post_add_template_folder_page(client_request, service_one, mocker, pare ['All', 'Text message', 'Letter'], [], [], + [], 'There are no email templates in this folder', ), ( @@ -225,6 +262,11 @@ def test_post_add_template_folder_page(client_request, service_one, mocker, pare 'folder_one_one_one 1 template', 'letter_template_nested Letter template', ], + [ + 'folder_one_one_one', + 'sms_template_nested', + 'letter_template_nested', + ], None, ), ( @@ -239,6 +281,9 @@ def test_post_add_template_folder_page(client_request, service_one, mocker, pare [ 'sms_template_nested Text message template', ], + [ + 'sms_template_nested', + ], None, ), ( @@ -249,6 +294,7 @@ def test_post_add_template_folder_page(client_request, service_one, mocker, pare ['Text message', 'Email', 'Letter'], [], [], + [], 'This folder is empty', ), ( @@ -259,6 +305,7 @@ def test_post_add_template_folder_page(client_request, service_one, mocker, pare ['All', 'Email', 'Letter'], [], [], + [], 'This folder is empty', ), ] @@ -277,6 +324,7 @@ def test_should_show_templates_folder_page( expected_nav_links, expected_items, expected_displayed_items, + expected_searchable_text, expected_empty_message, ): mock_get_template_folders.return_value = [ @@ -346,6 +394,12 @@ def test_should_show_templates_folder_page( assert '/' not in expected_item # Yo dawg I heard you like tests… assert normalize_spaces(displayed_page_items[index].text) == expected_item + all_searchable_text = page.select('#template-list .template-list-item .live-search-relevant') + assert len(all_searchable_text) == len(expected_searchable_text) + + for index, expected_item in enumerate(expected_searchable_text): + assert normalize_spaces(all_searchable_text[index].text) == expected_item + if expected_empty_message: assert normalize_spaces(page.select_one('.template-list-empty').text) == ( expected_empty_message