Files
mayan-edms/mayan/apps/control_codes/tests/mixins.py
Roberto Rosario 968abe2cdb Finish view tests
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-09-05 01:24:54 -04:00

171 lines
5.5 KiB
Python

from __future__ import unicode_literals
from ..classes import ControlCode
from ..models import ControlSheet
from .literals import (
TEST_CONTROL_SHEET_CODE_ARGUMENTS,
TEST_CONTROL_SHEET_CODE_ARGUMENTS_EDITED, TEST_CONTROL_SHEET_LABEL,
TEST_CONTROL_SHEET_LABEL_EDITED
)
class ControlCodeTest(ControlCode):
arguments = ('argument_1',)
label = 'Test'
name = 'test'
def execute(self):
pass
class ControlSheetAPIViewTestMixin(object):
def _request_test_control_sheet_create_api_view(self):
return self.post(
viewname='rest_api:control_sheet-list', data={
'label': TEST_CONTROL_SHEET_LABEL,
}
)
def _request_test_control_sheet_delete_api_view(self):
return self.delete(
viewname='rest_api:control_sheet-detail', kwargs={
'control_sheet_id': self.test_control_sheet.pk
}
)
def _request_test_control_sheet_edit_api_view(self, extra_data=None, verb='patch'):
data = {
'label': TEST_CONTROL_SHEET_LABEL_EDITED,
}
if extra_data:
data.update(extra_data)
return getattr(self, verb)(
viewname='rest_api:control_sheet-detail', kwargs={
'control_sheet_id': self.test_control_sheet.pk
}, data=data
)
class ControlSheetTestMixin(object):
def _create_test_control_sheet(self):
self.test_control_sheet = ControlSheet.objects.create(
label=TEST_CONTROL_SHEET_LABEL
)
class ControlSheetCodeTestMixin(object):
_test_control_code_class = ControlCodeTest
def _create_test_control_sheet_code(self):
self.test_control_sheet_code = self.test_control_sheet.codes.create(
control_sheet=self.test_control_sheet,
name=self._test_control_code_class.name,
arguments=TEST_CONTROL_SHEET_CODE_ARGUMENTS
)
class ControlSheetViewTestMixin(object):
def _request_test_control_sheet_create_view(self):
return self.post(
viewname='control_codes:control_sheet_create', data={
'label': TEST_CONTROL_SHEET_LABEL
}
)
def _request_test_control_sheet_delete_view(self):
return self.post(
viewname='control_codes:control_sheet_delete', kwargs={
'control_sheet_id': self.test_control_sheet.pk
}
)
def _request_test_control_sheet_delete_multiple_view(self):
return self.post(
viewname='control_codes:control_sheet_multiple_delete', data={
'id_list': self.test_control_sheet.pk
},
)
def _request_test_control_sheet_edit_view(self):
return self.post(
viewname='control_codes:control_sheet_edit', kwargs={
'control_sheet_id': self.test_control_sheet.pk
}, data={
'label': TEST_CONTROL_SHEET_LABEL_EDITED,
}
)
def _request_test_control_sheet_list_view(self):
return self.get(viewname='control_codes:control_sheet_list')
def _request_test_control_sheet_preview_view(self):
return self.get(
viewname='control_codes:control_sheet_preview', kwargs={
'control_sheet_id': self.test_control_sheet.pk
}
)
def _request_test_control_sheet_print_view(self):
return self.get(
viewname='control_codes:control_sheet_print', kwargs={
'control_sheet_id': self.test_control_sheet.pk
}
)
class ControlSheetCodeViewTestMixin(object):
def _request_test_control_sheet_code_select_get_view(self):
return self.get(
viewname='control_codes:control_sheet_code_select', kwargs={
'control_sheet_id': self.test_control_sheet.pk,
}
)
def _request_test_control_sheet_code_select_post_view(self):
return self.post(
viewname='control_codes:control_sheet_code_select', kwargs={
'control_sheet_id': self.test_control_sheet.pk,
}, data={'control_code_class_name': self._test_control_code_class.name}
)
def _request_test_control_sheet_code_create_view(self):
return self.post(
viewname='control_codes:control_sheet_code_create', kwargs={
'control_sheet_id': self.test_control_sheet.pk,
'control_code_class_name': self._test_control_code_class.name
}
)
def _request_test_control_sheet_code_delete_view(self):
return self.post(
viewname='control_codes:control_sheet_code_delete',
kwargs={
'control_sheet_id': self.test_control_sheet_code.control_sheet.pk,
'control_sheet_code_id': self.test_control_sheet_code.pk
}
)
def _request_test_control_sheet_code_edit_view(self):
return self.post(
viewname='control_codes:control_sheet_code_edit', kwargs={
'control_sheet_id': self.test_control_sheet_code.control_sheet.pk,
'control_sheet_code_id': self.test_control_sheet_code.pk
}, data={
'arguments': TEST_CONTROL_SHEET_CODE_ARGUMENTS_EDITED,
}
)
def _request_test_control_sheet_code_list_view(self):
return self.get(
viewname='control_codes:control_sheet_code_list', kwargs={
'control_sheet_id': self.test_control_sheet.pk
}
)
ControlCode.register(control_code=ControlCodeTest)