Organization related improvements for the tags app.

This commit is contained in:
Roberto Rosario
2016-05-25 02:47:26 -04:00
parent a0df9d260d
commit 58d634a395
4 changed files with 46 additions and 32 deletions

View File

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

View File

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

View File

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

View File

@@ -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.'))