示例#1
0
    def test_create_and_respond(self):
        url = reverse('api:project_media',
                      kwargs={
                          'project_id': self.project.id,
                          'contribution_id': self.contribution.id
                      })

        data = {
            'name': 'A test image',
            'description': 'Test image description',
            'file': get_image()
        }

        request = self.factory.post(url, data)
        request.user = self.admin
        view = MediaFileListAbstractAPIView()
        view.request = request

        response = self.render(
            view.create_and_respond(self.admin, self.contribution))

        response_json = json.loads(response.content)
        self.assertEqual(response_json.get('name'), data.get('name'))
        self.assertEqual(response_json.get('description'),
                         data.get('description'))
        self.assertEqual(
            response_json.get('creator').get('display_name'),
            request.user.display_name)
示例#2
0
    def test_create_and_respond_without_name(self):
        url = reverse('api:project_media',
                      kwargs={
                          'project_id': self.project.id,
                          'contribution_id': self.contribution.id
                      })

        data = {'description': 'Test image description', 'file': get_image()}

        request = self.factory.post(url, data)
        request.user = self.admin
        view = MediaFileListAbstractAPIView()
        view.request = request

        view.create_and_respond(self.admin, self.contribution)
示例#3
0
    def test_get_list_and_respond(self):
        ImageFileFactory.create_batch(5, **{'contribution': self.contribution})

        url = reverse('api:project_media',
                      kwargs={
                          'project_id': self.project.id,
                          'contribution_id': self.contribution.id
                      })

        request = self.factory.get(url)
        view = MediaFileListAbstractAPIView()
        view.request = request

        response = self.render(
            view.get_list_and_respond(self.admin, self.contribution))
        self.assertEqual(len(json.loads(response.content)), 5)