示例#1
0
    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))
示例#2
0
    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))
示例#3
0
    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()
示例#4
0
    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()