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