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)
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)
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)