Skip to content

Commit 97d67df

Browse files
committed
adding tests for case insensitive search
1 parent fd75aa3 commit 97d67df

File tree

1 file changed

+21
-3
lines changed

1 file changed

+21
-3
lines changed

readthedocs/search/tests/test_views.py

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ def test_search_project_filter_language(self, client, project):
6767

6868
@pytest.mark.django_db
6969
@pytest.mark.search
70-
class TestElasticSearch(object):
70+
class TestPageSearch(object):
7171
url = reverse('search')
7272

7373
def _get_search_result(self, url, client, search_params):
@@ -80,13 +80,31 @@ def _get_search_result(self, url, client, search_params):
8080

8181
@pytest.mark.parametrize('data_type', ['content', 'headers', 'title'])
8282
@pytest.mark.parametrize('page_num', [0, 1])
83-
def test_search_by_file_content(self, client, project, data_type, page_num):
83+
def test_file_search(self, client, project, data_type, page_num):
8484
query = get_search_query_from_project_file(project_slug=project.slug, page_num=page_num,
8585
data_type=data_type)
8686

8787
result, _ = self._get_search_result(url=self.url, client=client,
8888
search_params={'q': query, 'type': 'file'})
89-
assert len(result) == 1, ("failed"+ query)
89+
assert len(result) == 1
90+
assert query in result.text()
91+
92+
@pytest.mark.parametrize('case', ['upper', 'lower', 'title'])
93+
def test_file_search_case_insensitive(self, client, project, case):
94+
"""Check File search is case insensitive
95+
96+
It tests with uppercase, lowercase and camelcase
97+
"""
98+
query = get_search_query_from_project_file(project_slug=project.slug)\
99+
100+
cased_query = getattr(query, case)
101+
102+
result, _ = self._get_search_result(url=self.url, client=client,
103+
search_params={'q': cased_query(), 'type': 'file'})
104+
105+
assert len(result) == 1
106+
# Check the actual text is in the result, not the cased one
107+
assert query in result.text()
90108

91109
def test_file_search_show_projects(self, client, all_projects):
92110
"""Test that search result page shows list of projects while searching for files"""

0 commit comments

Comments
 (0)