def test_list(self): self.folder = Folder(**{'name': 'Images'}) self.folder.save() files = ['2210571.jpg', 'images.docx', 'rgba1px.png'] for file in files: path = 'tests/files/%s' % file f = open(path, 'rb') document = Document() document.folder = self.folder document.name = file document.file.save(name=document.name, content=File(f)) document.save() document.save_thumbnail() f.close() url = reverse('model_view_list', args=['documents.Document', 'folder', self.folder.pk]) response = self.client.get(url) self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertEqual(len(response.data), len(files)) url = reverse( 'model_view_detail', args=['documents.Document', 'folder', self.folder.pk, files[0]]) response = self.client.get(url) self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertEqual(response.data['name'], files[0])
def test_delete(self): name = '2210571.jpg' url = reverse( 'model_view_detail', args=['documents.Document', 'folder', self.folder.pk, name]) path = 'tests/files/%s' % name f = open(path, 'rb') document = Document() document.folder = self.folder document.name = '2210571.jpg' document.file.save(name=document.name, content=File(f)) document.save() f.close() response = self.client.delete(url) self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)
def create(self, validated_data): body = validated_data.get('body') body = base64_decode(body)[0] document = Document() document.account = self.context['account'] document.folder = validated_data.get('folder') document.type = validated_data.get('type') or Document.OTHER document.file = ContentFile(body, validated_data.get('name')) document.user = self.context['user'] old_doc = validated_data.get('old_doc') if old_doc: document.previous_version = old_doc.id document.save() return document
def setUp(self): self.project = Project(**{'name': 'Customer A'}) self.project.save() self.folder = Folder(**{'name': 'Images', 'project': self.project}) self.folder.save() files = ['2210571.jpg', 'images.docx'] for file in files: path = 'tests/files/%s' % file f = open(path, 'rb') document = Document() document.folder = self.folder document.name = file document.file.save(name=document.name, content=File(f)) document.save() document.save_thumbnail() f.close()