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