def test_search_empty_collection(self, mock_get): """ Tests no results. """ mock_get.return_value.content = json.dumps({"total": 0, "rows": []}) self.assertItemsEqual({ "total": 0, "rows": [] }, json.loads(helpers.search(self.user, self.course, "test")))
def test_search_empty_collection(self, mock_get): """ Tests no results. """ mock_get.return_value.content = json.dumps({ "total": 0, "rows": [] }) self.assertItemsEqual( { "total": 0, "rows": [] }, json.loads(helpers.search(self.user, self.course, "test")) )
def search_notes(request, course_id): """ Handles search requests. """ course_key = CourseKey.from_string(course_id) course = get_course_with_access(request.user, "load", course_key) if not is_feature_enabled(course): raise Http404 if "text" not in request.GET: return HttpResponseBadRequest() query_string = request.GET["text"] try: search_results = search(request.user, course, query_string) except (EdxNotesParseError, EdxNotesServiceUnavailable) as err: return JsonResponseBadRequest({"error": err.message}, status=500) return HttpResponse(search_results)
def test_search_correct_data(self, mock_get): """ Tests the result if correct data is received. """ mock_get.return_value.content = json.dumps({ "total": 2, "rows": [{ u"quote": u"quote text", u"text": u"text", u"usage_id": unicode(self.html_module_1.location), u"updated": datetime(2014, 11, 19, 8, 5, 16, 00000).isoformat(), }, { u"quote": u"quote text", u"text": u"text", u"usage_id": unicode(self.html_module_2.location), u"updated": datetime(2014, 11, 19, 8, 6, 16, 00000).isoformat(), }] }) self.assertItemsEqual( { "total": 2, "rows": [ { u"quote": u"quote text", u"text": u"text", u"chapter": { u"display_name": self.chapter.display_name_with_default, u"index": 0, u"location": unicode(self.chapter.location), u"children": [unicode(self.sequential.location)] }, u"section": { u"display_name": self.sequential.display_name_with_default, u"location": unicode(self.sequential.location), u"children": [ unicode(self.vertical.location), unicode(self.vertical_with_container.location) ] }, u"unit": { u"url": self._get_unit_url(self.course, self.chapter, self.sequential), u"display_name": self.vertical.display_name_with_default, u"location": unicode(self.vertical.location), }, u"usage_id": unicode(self.html_module_2.location), u"updated": "Nov 19, 2014 at 08:06 UTC", }, { u"quote": u"quote text", u"text": u"text", u"chapter": { u"display_name": self.chapter.display_name_with_default, u"index": 0, u"location": unicode(self.chapter.location), u"children": [unicode(self.sequential.location)] }, u"section": { u"display_name": self.sequential.display_name_with_default, u"location": unicode(self.sequential.location), u"children": [ unicode(self.vertical.location), unicode(self.vertical_with_container.location) ] }, u"unit": { u"url": self._get_unit_url(self.course, self.chapter, self.sequential), u"display_name": self.vertical.display_name_with_default, u"location": unicode(self.vertical.location), }, u"usage_id": unicode(self.html_module_1.location), u"updated": "Nov 19, 2014 at 08:05 UTC", }, ] }, json.loads(helpers.search(self.user, self.course, "test")))
def test_search_correct_data(self, mock_get): """ Tests the result if correct data is received. """ mock_get.return_value.content = json.dumps({ "total": 2, "rows": [ { u"quote": u"quote text", u"text": u"text", u"usage_id": unicode(self.html_module_1.location), u"updated": datetime(2014, 11, 19, 8, 5, 16, 00000).isoformat(), }, { u"quote": u"quote text", u"text": u"text", u"usage_id": unicode(self.html_module_2.location), u"updated": datetime(2014, 11, 19, 8, 6, 16, 00000).isoformat(), } ] }) self.assertItemsEqual( { "total": 2, "rows": [ { u"quote": u"quote text", u"text": u"text", u"chapter": { u"display_name": self.chapter.display_name_with_default, u"index": 0, u"location": unicode(self.chapter.location), u"children": [unicode(self.sequential.location)] }, u"section": { u"display_name": self.sequential.display_name_with_default, u"location": unicode(self.sequential.location), u"children": [ unicode(self.vertical.location), unicode(self.vertical_with_container.location)] }, u"unit": { u"url": self._get_unit_url(self.course, self.chapter, self.sequential), u"display_name": self.vertical.display_name_with_default, u"location": unicode(self.vertical.location), }, u"usage_id": unicode(self.html_module_2.location), u"updated": "Nov 19, 2014 at 08:06 UTC", }, { u"quote": u"quote text", u"text": u"text", u"chapter": { u"display_name": self.chapter.display_name_with_default, u"index": 0, u"location": unicode(self.chapter.location), u"children": [unicode(self.sequential.location)] }, u"section": { u"display_name": self.sequential.display_name_with_default, u"location": unicode(self.sequential.location), u"children": [ unicode(self.vertical.location), unicode(self.vertical_with_container.location)] }, u"unit": { u"url": self._get_unit_url(self.course, self.chapter, self.sequential), u"display_name": self.vertical.display_name_with_default, u"location": unicode(self.vertical.location), }, u"usage_id": unicode(self.html_module_1.location), u"updated": "Nov 19, 2014 at 08:05 UTC", }, ] }, json.loads(helpers.search(self.user, self.course, "test")) )