132 lines
4.1 KiB
Python
132 lines
4.1 KiB
Python
from __future__ import unicode_literals
|
|
|
|
from ..models import Cabinet
|
|
|
|
from .literals import (
|
|
TEST_CABINET_CHILD_LABEL, TEST_CABINET_LABEL, TEST_CABINET_LABEL_EDITED
|
|
)
|
|
|
|
|
|
class CabinetAPIViewTestMixin(object):
|
|
def _request_test_cabinet_create_api_view(self, extra_data=None):
|
|
data = {'label': TEST_CABINET_LABEL}
|
|
|
|
if extra_data:
|
|
data.update(extra_data)
|
|
|
|
# Typecast to list to force queryset evaluation
|
|
values = list(Cabinet.objects.values_list('pk', flat=True))
|
|
|
|
response = self.post(viewname='rest_api:cabinet-list', data=data)
|
|
|
|
self.test_cabinet = Cabinet.objects.exclude(pk__in=values).first()
|
|
|
|
return response
|
|
|
|
def _request_test_cabinet_delete_api_view(self):
|
|
return self.delete(
|
|
viewname='rest_api:cabinet-detail', kwargs={
|
|
'pk': self.test_cabinet.pk
|
|
}
|
|
)
|
|
|
|
def _request_test_cabinet_document_remove_api_view(self):
|
|
return self.delete(
|
|
viewname='rest_api:cabinet-document', kwargs={
|
|
'pk': self.test_cabinet.pk, 'document_pk': self.test_document.pk
|
|
}
|
|
)
|
|
|
|
def _request_test_cabinet_edit_api_patch_view(self):
|
|
return self.patch(
|
|
data={'label': TEST_CABINET_LABEL_EDITED}, kwargs={
|
|
'pk': self.test_cabinet.pk
|
|
}, viewname='rest_api:cabinet-detail'
|
|
)
|
|
|
|
def _request_test_cabinet_edit_api_put_view(self):
|
|
return self.put(
|
|
data={'label': TEST_CABINET_LABEL_EDITED}, kwargs={
|
|
'pk': self.test_cabinet.pk
|
|
}, viewname='rest_api:cabinet-detail'
|
|
)
|
|
|
|
def _request_test_cabinet_list_api_view(self):
|
|
return self.get(viewname='rest_api:cabinet-list')
|
|
|
|
|
|
class CabinetTestMixin(object):
|
|
def _create_test_cabinet(self):
|
|
self.test_cabinet = Cabinet.objects.create(label=TEST_CABINET_LABEL)
|
|
|
|
def _create_test_cabinet_child(self):
|
|
self.test_cabinet_child = Cabinet.objects.create(
|
|
label=TEST_CABINET_CHILD_LABEL, parent=self.test_cabinet
|
|
)
|
|
|
|
|
|
class CabinetViewTestMixin(object):
|
|
def _request_test_cabinet_create_view(self):
|
|
# Typecast to list to force queryset evaluation
|
|
values = list(Cabinet.objects.values_list('pk', flat=True))
|
|
|
|
response = self.post(
|
|
'cabinets:cabinet_create', data={
|
|
'label': TEST_CABINET_LABEL
|
|
}
|
|
)
|
|
|
|
self.test_cabinet = Cabinet.objects.exclude(pk__in=values).first()
|
|
|
|
return response
|
|
|
|
def _request_test_cabinet_delete_view(self):
|
|
return self.post(
|
|
viewname='cabinets:cabinet_delete', kwargs={
|
|
'pk': self.test_cabinet.pk
|
|
}
|
|
)
|
|
|
|
def _request_test_cabinet_edit_view(self):
|
|
return self.post(
|
|
viewname='cabinets:cabinet_edit', kwargs={
|
|
'pk': self.test_cabinet.pk
|
|
}, data={
|
|
'label': TEST_CABINET_LABEL_EDITED
|
|
}
|
|
)
|
|
|
|
def _request_test_cabinet_child_create_view(self):
|
|
return self.post(
|
|
viewname='cabinets:cabinet_child_add', kwargs={
|
|
'pk': self.test_cabinet.pk
|
|
}, data={'label': TEST_CABINET_CHILD_LABEL}
|
|
)
|
|
|
|
def _request_test_cabinet_child_delete_view(self):
|
|
return self.post(
|
|
viewname='cabinets:cabinet_delete', kwargs={
|
|
'pk': self.test_cabinet_child.pk
|
|
}
|
|
)
|
|
|
|
def _request_test_cabinet_list_view(self):
|
|
return self.get(viewname='cabinets:cabinet_list')
|
|
|
|
def _request_test_document_cabinet_multiple_remove_view(self):
|
|
return self.post(
|
|
viewname='cabinets:document_cabinet_remove', kwargs={
|
|
'pk': self.test_document.pk
|
|
}, data={
|
|
'cabinets': (self.test_cabinet.pk,),
|
|
}
|
|
)
|
|
|
|
def _request_test_document_multiple_cabinet_multiple_add_view_cabinet(self):
|
|
return self.post(
|
|
viewname='cabinets:document_multiple_cabinet_add', data={
|
|
'id_list': (self.test_document.pk,),
|
|
'cabinets': self.test_cabinet.pk
|
|
}
|
|
)
|