Files
mayan-edms/mayan/apps/checkouts/tests/mixins.py
Roberto Rosario 58bcf20a46 Remove tests * imports
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-08-29 23:10:28 -04:00

105 lines
3.3 KiB
Python

from __future__ import unicode_literals
import datetime
from django.utils.timezone import now
from mayan.apps.common.literals import TIME_DELTA_UNIT_DAYS
from mayan.apps.common.tests.utils import as_id_list
from ..models import DocumentCheckout
class DocumentCheckoutsAPIViewTestMixin(object):
def _request_checkedout_document_view(self):
return self.get(
viewname='rest_api:checkedout-document-view',
kwargs={'pk': self.test_check_out.pk}
)
def _request_test_document_check_out_view(self):
return self.post(
viewname='rest_api:checkout-document-list', data={
'document_pk': self.test_document.pk,
'expiration_datetime': '2099-01-01T12:00'
}
)
def _request_checkout_list_view(self):
return self.get(viewname='rest_api:checkout-document-list')
class DocumentCheckoutTestMixin(object):
_test_document_check_out_seconds = 0.1
def _check_out_test_document(self, document=None, user=None):
if not document:
document = self.test_document
if not user:
user = self._test_case_user
self._check_out_expiration_datetime = now() + datetime.timedelta(
seconds=self._test_document_check_out_seconds
)
self.test_check_out = DocumentCheckout.objects.check_out_document(
block_new_version=True, document=document,
expiration_datetime=self._check_out_expiration_datetime,
user=user
)
class DocumentCheckoutViewTestMixin(object):
def _request_test_document_check_in_get_view(self):
return self.get(
viewname='checkouts:check_in_document', kwargs={
'pk': self.test_document.pk
}
)
def _request_test_document_check_in_post_view(self):
return self.post(
viewname='checkouts:check_in_document', kwargs={
'pk': self.test_document.pk
}
)
def _request_test_document_multiple_check_in_post_view(self):
return self.post(
viewname='checkouts:check_in_document_multiple', data={
'id_list': as_id_list(items=self.test_documents)
}
)
def _request_test_document_check_out_view(self):
return self.post(
viewname='checkouts:check_out_document', kwargs={
'pk': self.test_document.pk
}, data={
'expiration_datetime_unit': TIME_DELTA_UNIT_DAYS,
'expiration_datetime_amount': 99,
'block_new_version': True
}
)
def _request_test_document_multiple_check_out_post_view(self):
return self.post(
viewname='checkouts:check_out_document_multiple', data={
'block_new_version': True,
'expiration_datetime_unit': TIME_DELTA_UNIT_DAYS,
'expiration_datetime_amount': 99,
'id_list': as_id_list(items=self.test_documents)
}
)
def _request_test_document_check_out_detail_view(self):
return self.get(
viewname='checkouts:check_out_info', kwargs={
'pk': self.test_document.pk
}
)
def _request_test_document_check_out_list_view(self):
return self.get(viewname='checkouts:check_out_list')