69 lines
2.3 KiB
Python
69 lines
2.3 KiB
Python
from __future__ import unicode_literals
|
|
|
|
from ..models import SmartLink, SmartLinkCondition
|
|
|
|
from .literals import (
|
|
TEST_SMART_LINK_CONDITION_FOREIGN_DOCUMENT_DATA,
|
|
TEST_SMART_LINK_CONDITION_EXPRESSION,
|
|
TEST_SMART_LINK_CONDITION_OPERATOR, TEST_SMART_LINK_DYNAMIC_LABEL,
|
|
TEST_SMART_LINK_LABEL, TEST_SMART_LINK_LABEL_EDITED
|
|
)
|
|
|
|
|
|
class SmartLinkDocumentViewTestMixin(object):
|
|
def _request_test_smart_link_document_instances_view(self):
|
|
return self.get(
|
|
viewname='linking:smart_link_instances_for_document',
|
|
kwargs={'pk': self.test_document.pk}
|
|
)
|
|
|
|
|
|
class SmartLinkTestMixin(object):
|
|
def _create_test_smart_link(self, add_test_document_type=False):
|
|
self.test_smart_link = SmartLink.objects.create(
|
|
label=TEST_SMART_LINK_LABEL,
|
|
dynamic_label=TEST_SMART_LINK_DYNAMIC_LABEL
|
|
)
|
|
if add_test_document_type:
|
|
self.test_smart_link.document_types.add(self.test_document_type)
|
|
|
|
def _create_test_smart_link_condition(self):
|
|
self.test_smart_link_condition = SmartLinkCondition.objects.create(
|
|
smart_link=self.test_smart_link,
|
|
foreign_document_data=TEST_SMART_LINK_CONDITION_FOREIGN_DOCUMENT_DATA,
|
|
expression=TEST_SMART_LINK_CONDITION_EXPRESSION,
|
|
operator=TEST_SMART_LINK_CONDITION_OPERATOR
|
|
)
|
|
|
|
|
|
class SmartLinkViewTestMixin(object):
|
|
def _request_test_smart_link_create_view(self):
|
|
# Typecast to list to force queryset evaluation
|
|
values = list(SmartLink.objects.values_list('pk', flat=True))
|
|
|
|
response = self.post(
|
|
viewname='linking:smart_link_create', data={
|
|
'label': TEST_SMART_LINK_LABEL
|
|
}
|
|
)
|
|
|
|
self.test_smart_link = SmartLink.objects.exclude(pk__in=values).first()
|
|
|
|
return response
|
|
|
|
def _request_test_smart_link_delete_view(self):
|
|
return self.post(
|
|
viewname='linking:smart_link_delete', kwargs={
|
|
'pk': self.test_smart_link.pk
|
|
}
|
|
)
|
|
|
|
def _request_test_smart_link_edit_view(self):
|
|
return self.post(
|
|
viewname='linking:smart_link_edit', kwargs={
|
|
'pk': self.test_smart_link.pk
|
|
}, data={
|
|
'label': TEST_SMART_LINK_LABEL_EDITED
|
|
}
|
|
)
|