Organization related improvements for the tags app.
This commit is contained in:
@@ -26,7 +26,7 @@ class TagAPITestCase(APITestCase):
|
||||
"""
|
||||
|
||||
def setUp(self):
|
||||
self.admin_user = get_user_model().objects.create_superuser(
|
||||
self.admin_user = get_user_model().on_organization.create_superuser(
|
||||
username=TEST_ADMIN_USERNAME, email=TEST_ADMIN_EMAIL,
|
||||
password=TEST_ADMIN_PASSWORD
|
||||
)
|
||||
@@ -45,25 +45,29 @@ class TagAPITestCase(APITestCase):
|
||||
}
|
||||
)
|
||||
|
||||
tag = Tag.objects.first()
|
||||
tag = Tag.on_organization.first()
|
||||
|
||||
self.assertEqual(response.data['id'], tag.pk)
|
||||
self.assertEqual(response.data['label'], TEST_TAG_LABEL)
|
||||
self.assertEqual(response.data['color'], TEST_TAG_COLOR)
|
||||
|
||||
self.assertEqual(Tag.objects.count(), 1)
|
||||
self.assertEqual(Tag.on_organization.count(), 1)
|
||||
self.assertEqual(tag.label, TEST_TAG_LABEL)
|
||||
self.assertEqual(tag.color, TEST_TAG_COLOR)
|
||||
|
||||
def test_tag_delete(self):
|
||||
tag = Tag.objects.create(color=TEST_TAG_COLOR, label=TEST_TAG_LABEL)
|
||||
tag = Tag.on_organization.create(
|
||||
color=TEST_TAG_COLOR, label=TEST_TAG_LABEL
|
||||
)
|
||||
|
||||
self.client.delete(reverse('rest_api:tag-detail', args=(tag.pk,)))
|
||||
|
||||
self.assertEqual(Tag.objects.count(), 0)
|
||||
self.assertEqual(Tag.on_organization.count(), 0)
|
||||
|
||||
def test_tag_edit(self):
|
||||
tag = Tag.objects.create(color=TEST_TAG_COLOR, label=TEST_TAG_LABEL)
|
||||
tag = Tag.on_organization.create(
|
||||
color=TEST_TAG_COLOR, label=TEST_TAG_LABEL
|
||||
)
|
||||
|
||||
self.client.put(
|
||||
reverse('rest_api:tag-detail', args=(tag.pk,)),
|
||||
@@ -73,16 +77,18 @@ class TagAPITestCase(APITestCase):
|
||||
}
|
||||
)
|
||||
|
||||
tag = Tag.objects.first()
|
||||
tag = Tag.on_organization.first()
|
||||
|
||||
self.assertEqual(tag.label, TEST_TAG_LABEL_EDITED)
|
||||
self.assertEqual(tag.color, TEST_TAG_COLOR_EDITED)
|
||||
|
||||
@override_settings(OCR_AUTO_OCR=False)
|
||||
def test_tag_add_document(self):
|
||||
tag = Tag.objects.create(color=TEST_TAG_COLOR, label=TEST_TAG_LABEL)
|
||||
tag = Tag.on_organization.create(
|
||||
color=TEST_TAG_COLOR, label=TEST_TAG_LABEL
|
||||
)
|
||||
|
||||
document_type = DocumentType.objects.create(
|
||||
document_type = DocumentType.on_organization.create(
|
||||
label=TEST_DOCUMENT_TYPE
|
||||
)
|
||||
|
||||
@@ -100,9 +106,11 @@ class TagAPITestCase(APITestCase):
|
||||
|
||||
@override_settings(OCR_AUTO_OCR=False)
|
||||
def test_tag_remove_document(self):
|
||||
tag = Tag.objects.create(color=TEST_TAG_COLOR, label=TEST_TAG_LABEL)
|
||||
tag = Tag.on_organization.create(
|
||||
color=TEST_TAG_COLOR, label=TEST_TAG_LABEL
|
||||
)
|
||||
|
||||
document_type = DocumentType.objects.create(
|
||||
document_type = DocumentType.on_organization.create(
|
||||
label=TEST_DOCUMENT_TYPE
|
||||
)
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@ from django.test import TestCase, override_settings
|
||||
|
||||
from documents.models import DocumentType
|
||||
from documents.tests import TEST_DOCUMENT_TYPE, TEST_SMALL_DOCUMENT_PATH
|
||||
from organizations.utils import create_default_organization
|
||||
|
||||
from ..models import Tag
|
||||
|
||||
@@ -14,7 +15,8 @@ from .literals import TEST_TAG_COLOR, TEST_TAG_LABEL
|
||||
@override_settings(OCR_AUTO_OCR=False)
|
||||
class TagTestCase(TestCase):
|
||||
def setUp(self):
|
||||
self.document_type = DocumentType.objects.create(
|
||||
create_default_organization()
|
||||
self.document_type = DocumentType.on_organization.create(
|
||||
label=TEST_DOCUMENT_TYPE
|
||||
)
|
||||
|
||||
@@ -28,12 +30,16 @@ class TagTestCase(TestCase):
|
||||
self.document_type.delete()
|
||||
|
||||
def runTest(self):
|
||||
tag = Tag.objects.create(color=TEST_TAG_COLOR, label=TEST_TAG_LABEL)
|
||||
tag = Tag.on_organization.create(
|
||||
color=TEST_TAG_COLOR, label=TEST_TAG_LABEL
|
||||
)
|
||||
self.assertEqual(tag.label, TEST_TAG_LABEL)
|
||||
self.assertEqual(tag.get_color_code(), 'red')
|
||||
|
||||
def test_addition_and_deletion_of_documents(self):
|
||||
tag = Tag.objects.create(color=TEST_TAG_COLOR, label=TEST_TAG_LABEL)
|
||||
tag = Tag.on_organization.create(
|
||||
color=TEST_TAG_COLOR, label=TEST_TAG_LABEL
|
||||
)
|
||||
|
||||
tag.documents.add(self.document)
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ class TagViewTestCase(GenericDocumentViewTestCase):
|
||||
def setUp(self):
|
||||
super(TagViewTestCase, self).setUp()
|
||||
|
||||
self.tag = Tag.objects.create(
|
||||
self.tag = Tag.on_organization.create(
|
||||
color=TEST_TAG_COLOR, label=TEST_TAG_LABEL
|
||||
)
|
||||
|
||||
@@ -33,7 +33,7 @@ class TagViewTestCase(GenericDocumentViewTestCase):
|
||||
self.login(username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD)
|
||||
|
||||
self.tag.delete()
|
||||
self.assertEqual(Tag.objects.count(), 0)
|
||||
self.assertEqual(Tag.on_organization.count(), 0)
|
||||
|
||||
response = self.post(
|
||||
'tags:tag_create', data={
|
||||
@@ -43,13 +43,13 @@ class TagViewTestCase(GenericDocumentViewTestCase):
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, 403)
|
||||
self.assertEqual(Tag.objects.count(), 0)
|
||||
self.assertEqual(Tag.on_organization.count(), 0)
|
||||
|
||||
def test_tag_create_view_with_permissions(self):
|
||||
self.login(username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD)
|
||||
|
||||
self.tag.delete()
|
||||
self.assertEqual(Tag.objects.count(), 0)
|
||||
self.assertEqual(Tag.on_organization.count(), 0)
|
||||
|
||||
self.role.permissions.add(permission_tag_create.stored_permission)
|
||||
|
||||
@@ -62,27 +62,27 @@ class TagViewTestCase(GenericDocumentViewTestCase):
|
||||
|
||||
self.assertContains(response, text='created', status_code=200)
|
||||
|
||||
self.assertEqual(Tag.objects.count(), 1)
|
||||
tag = Tag.objects.first()
|
||||
self.assertEqual(Tag.on_organization.count(), 1)
|
||||
tag = Tag.on_organization.first()
|
||||
self.assertEqual(tag.label, TEST_TAG_LABEL)
|
||||
self.assertEqual(tag.color, TEST_TAG_COLOR)
|
||||
|
||||
def test_tag_delete_view_no_permissions(self):
|
||||
self.login(username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD)
|
||||
|
||||
self.assertEqual(Tag.objects.count(), 1)
|
||||
self.assertEqual(Tag.on_organization.count(), 1)
|
||||
|
||||
response = self.post(
|
||||
'tags:tag_delete', args=(self.tag.pk,)
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, 302)
|
||||
self.assertEqual(Tag.objects.count(), 1)
|
||||
self.assertEqual(Tag.on_organization.count(), 1)
|
||||
|
||||
def test_tag_delete_view_with_permissions(self):
|
||||
self.login(username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD)
|
||||
|
||||
self.assertEqual(Tag.objects.count(), 1)
|
||||
self.assertEqual(Tag.on_organization.count(), 1)
|
||||
|
||||
self.role.permissions.add(permission_tag_delete.stored_permission)
|
||||
|
||||
@@ -92,24 +92,24 @@ class TagViewTestCase(GenericDocumentViewTestCase):
|
||||
|
||||
self.assertContains(response, text='deleted', status_code=200)
|
||||
|
||||
self.assertEqual(Tag.objects.count(), 0)
|
||||
self.assertEqual(Tag.on_organization.count(), 0)
|
||||
|
||||
def test_tag_multiple_delete_view_no_permissions(self):
|
||||
self.login(username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD)
|
||||
|
||||
self.assertEqual(Tag.objects.count(), 1)
|
||||
self.assertEqual(Tag.on_organization.count(), 1)
|
||||
|
||||
response = self.post(
|
||||
'tags:tag_multiple_delete', data={'id_list': self.tag.pk}
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, 302)
|
||||
self.assertEqual(Tag.objects.count(), 1)
|
||||
self.assertEqual(Tag.on_organization.count(), 1)
|
||||
|
||||
def test_tag_multiple_delete_view_with_permissions(self):
|
||||
self.login(username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD)
|
||||
|
||||
self.assertEqual(Tag.objects.count(), 1)
|
||||
self.assertEqual(Tag.on_organization.count(), 1)
|
||||
|
||||
self.role.permissions.add(permission_tag_delete.stored_permission)
|
||||
|
||||
@@ -120,7 +120,7 @@ class TagViewTestCase(GenericDocumentViewTestCase):
|
||||
|
||||
self.assertContains(response, text='deleted', status_code=200)
|
||||
|
||||
self.assertEqual(Tag.objects.count(), 0)
|
||||
self.assertEqual(Tag.on_organization.count(), 0)
|
||||
|
||||
def test_tag_edit_view_no_permissions(self):
|
||||
self.login(username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD)
|
||||
@@ -132,7 +132,7 @@ class TagViewTestCase(GenericDocumentViewTestCase):
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, 403)
|
||||
tag = Tag.objects.get(pk=self.tag.pk)
|
||||
tag = Tag.on_organization.get(pk=self.tag.pk)
|
||||
self.assertEqual(tag.label, TEST_TAG_LABEL)
|
||||
self.assertEqual(tag.color, TEST_TAG_COLOR)
|
||||
|
||||
@@ -148,7 +148,7 @@ class TagViewTestCase(GenericDocumentViewTestCase):
|
||||
)
|
||||
|
||||
self.assertContains(response, text='update', status_code=200)
|
||||
tag = Tag.objects.get(pk=self.tag.pk)
|
||||
tag = Tag.on_organization.get(pk=self.tag.pk)
|
||||
self.assertEqual(tag.label, TEST_TAG_LABEL_EDITED)
|
||||
self.assertEqual(tag.color, TEST_TAG_COLOR_EDITED)
|
||||
|
||||
|
||||
@@ -154,10 +154,10 @@ def tag_delete(request, tag_id=None, tag_id_list=None):
|
||||
queryset = Tag.on_organization.all()
|
||||
|
||||
if tag_id:
|
||||
queryset = organization.filter(pk=tag_id)
|
||||
queryset = queryset.filter(pk=tag_id)
|
||||
post_action_redirect = reverse('tags:tag_list')
|
||||
elif tag_id_list:
|
||||
queryset = organization.filter(pk__in=tag_id_list)
|
||||
queryset = queryset.filter(pk__in=tag_id_list)
|
||||
|
||||
if not queryset:
|
||||
messages.error(request, _('Must provide at least one tag.'))
|
||||
|
||||
Reference in New Issue
Block a user