diff --git a/.travis.yml b/.travis.yml index b10c5bb5e2..8392a6b5d4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,7 +10,7 @@ install: notifications: email: false script: - - coverage run --source=documents,document_signatures,lock_manager manage.py test documents lock_manager document_signatures + - coverage run --source=documents,document_signatures,lock_manager,folders manage.py test documents lock_manager document_signatures folders after_success: - coveralls branches: diff --git a/apps/folders/tests.py b/apps/folders/tests.py new file mode 100644 index 0000000000..3288bfa8e8 --- /dev/null +++ b/apps/folders/tests.py @@ -0,0 +1,65 @@ +from __future__ import absolute_import + +import os + +from django.utils import unittest +from django.conf import settings +from django.contrib.auth.models import User +from django.core.files.base import File + +from documents.literals import VERSION_UPDATE_MAJOR, RELEASE_LEVEL_FINAL +from documents.models import Document, DocumentType + +from .models import Folder + + +class FolderTestCase(unittest.TestCase): + def setUp(self): + self.document_type = DocumentType(name='test doc type') + self.document_type.save() + + self.document = Document( + document_type=self.document_type, + description='description', + ) + self.document.save() + + file_object = open(os.path.join(settings.PROJECT_ROOT, 'contrib', 'mayan_11_1.pdf')) + new_version = self.document.new_version(file=File(file_object, name='mayan_11_1.pdf')) + file_object.close() + + def test_creation_of_folder(self): + user = User.objects.all()[0] + folder = Folder.objects.create(title='test', user=user) + + self.assertEqual(Folder.objects.all().count(), 1) + self.assertEqual(list(Folder.objects.all()), [folder]) + folder.delete() + + def test_addition_of_documents(self): + user = User.objects.all()[0] + folder = Folder.objects.create(title='test', user=user) + folder.add_document(self.document) + + self.assertEqual(folder.documents.count(), 1) + self.assertEqual(list(folder.documents), [self.document]) + folder.delete() + + def test_addition_and_deletion_of_documents(self): + user = User.objects.all()[0] + folder = Folder.objects.create(title='test', user=user) + folder.add_document(self.document) + + self.assertEqual(folder.documents.count(), 1) + self.assertEqual(list(folder.documents), [self.document]) + + folder.remove_document(self.document) + + self.assertEqual(folder.documents.count(), 0) + self.assertEqual(list(folder.documents), []) + + folder.delete() + + def tearDown(self): + self.document.delete() + self.document_type.delete()