Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions cms/djangoapps/contentstore/rest_api/v2/views/tests/test_home.py
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,22 @@ def test_search_query_if_passed(self):
])])
self.assertEqual(response.status_code, status.HTTP_200_OK)

def test_search_query_matches_display_number(self):
"""Search must match course display number values."""
course_key = self.store.make_course_key("search-org", "opaque-number", "run")
searchable_course = CourseOverviewFactory.create(
id=course_key,
org=course_key.org,
display_name="Unrelated Title",
display_number_with_default="Friendly Number 42",
)

response = self.client.get(self.api_v2_url, {"search": "Friendly Number"})

assert response.status_code == status.HTTP_200_OK
assert len(response.data["results"]["courses"]) == 1
assert response.data["results"]["courses"][0]["course_key"] == str(searchable_course.id)

def test_order_query_if_passed(self):
"""Get list of courses when order filter passed as a query param.

Expand Down
1 change: 1 addition & 0 deletions openedx/core/djangoapps/content/course_overviews/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -721,6 +721,7 @@ def get_courses_matching_query(cls, query, course_overviews):
"""
return course_overviews.filter(
Q(display_name__icontains=query) |
Q(display_number_with_default__icontains=query) |
Q(org__icontains=query) |
Q(id__icontains=query)
)
Expand Down
Loading