def test_list_query(self): """ Verify the endpoint returns a filtered list of courses. """ # Create courses that should NOT match our query CourseFactory.create_batch(3) # Create courses that SHOULD match our query name = 'query test' courses = [CourseFactory(name=name), CourseFactory(name=name)] courses.sort(key=lambda course: course.id.lower()) self.refresh_index() query = { "query": { "bool": { "must": [ { "term": { "course.name.lowercase_sort": name } } ] } } } qs = urllib.parse.urlencode({'q': json.dumps(query)}) url = '{}?{}'.format(reverse('api:v1:course-list'), qs) response = self.client.get(url) self.assertEqual(response.status_code, 200) self.assertEqual(response.data['count'], len(courses)) self.assertListEqual(response.data['results'], self.serialize_course(courses, many=True))
def test_list_query(self): """ Verify the endpoint returns a filtered list of courses. """ # Create courses that should NOT match our query CourseFactory.create_batch(3) # Create courses that SHOULD match our query name = 'query test' courses = [CourseFactory(name=name), CourseFactory(name=name)] courses.sort(key=lambda course: course.id.lower()) self.refresh_index() query = { "query": { "bool": { "must": [{ "term": { "course.name.lowercase_sort": name } }] } } } qs = urllib.parse.urlencode({'q': json.dumps(query)}) url = '{}?{}'.format(reverse('api:v1:course-list'), qs) response = self.client.get(url) self.assertEqual(response.status_code, 200) self.assertEqual(response.data['count'], len(courses)) self.assertListEqual(response.data['results'], self.serialize_course(courses, many=True))
def test_list(self, format): """ Verify the endpoint returns a list of all courses. """ courses = CourseFactory.create_batch(10) courses.sort(key=lambda course: course.id.lower()) url = reverse('api:v1:course-list') limit = 3 self.refresh_index() response = self.client.get(url, {'format': format, 'limit': limit}) self.assertEqual(response.status_code, 200) self.assertListEqual(response.data['results'], self.serialize_course(courses[:limit], many=True, format=format)) response.render()
def test_list(self, format): """ Verify the endpoint returns a list of all courses. """ courses = CourseFactory.create_batch(10) courses.sort(key=lambda course: course.id.lower()) url = reverse('api:v1:course-list') limit = 3 self.refresh_index() response = self.client.get(url, {'format': format, 'limit': limit}) self.assertEqual(response.status_code, 200) self.assertListEqual( response.data['results'], self.serialize_course(courses[:limit], many=True, format=format)) response.render()