2022-10-12 10:19:53 -04:00
|
|
|
import unittest
|
|
|
|
|
2022-10-27 10:50:48 -04:00
|
|
|
from SpiffWorkflow.camunda.parser.task_spec import UserTaskParser
|
2022-10-12 10:19:53 -04:00
|
|
|
from tests.SpiffWorkflow.camunda.BaseTestCase import BaseTestCase
|
|
|
|
|
|
|
|
|
|
|
|
class UserTaskParserTest(BaseTestCase):
|
|
|
|
CORRELATE = UserTaskParser
|
|
|
|
|
|
|
|
def setUp(self):
|
|
|
|
self.spec, subprocesses = self.load_workflow_spec('random_fact.bpmn', 'random_fact')
|
|
|
|
|
|
|
|
def testGetForm(self):
|
|
|
|
form = self.spec.task_specs['Task_User_Select_Type'].form
|
|
|
|
self.assertIsNotNone(form)
|
|
|
|
|
|
|
|
def testGetEnumField(self):
|
|
|
|
form = self.spec.task_specs['Task_User_Select_Type'].form
|
|
|
|
self.assertEquals("Fact", form.key)
|
|
|
|
self.assertEquals(1, len(form.fields))
|
|
|
|
self.assertEquals("type", form.fields[0].id)
|
|
|
|
self.assertEquals(3, len(form.fields[0].options))
|
|
|
|
|
|
|
|
def testGetFieldProperties(self):
|
|
|
|
form = self.spec.task_specs['Task_User_Select_Type'].form
|
|
|
|
self.assertEquals(1, len(form.fields[0].properties))
|
|
|
|
self.assertEquals('description', form.fields[0].properties[0].id)
|
|
|
|
self.assertEquals('Choose from the list of available types of random facts', form.fields[0].properties[0].value)
|
|
|
|
|
|
|
|
def testGetFieldValidation(self):
|
|
|
|
form = self.spec.task_specs['Task_User_Select_Type'].form
|
|
|
|
self.assertEquals(1, len(form.fields[0].validation))
|
|
|
|
self.assertEquals('maxlength', form.fields[0].validation[0].name)
|
|
|
|
self.assertEquals('25', form.fields[0].validation[0].config)
|
|
|
|
|
|
|
|
def testNoFormDoesNotBombOut(self):
|
|
|
|
self.load_workflow_spec('no_form.bpmn', 'no_form')
|
|
|
|
self.assertTrue(True) # You can load a user task that has no form and you can still get here.
|
|
|
|
|
|
|
|
def testCreateTask(self):
|
|
|
|
pass
|
|
|
|
|
|
|
|
|
|
|
|
def suite():
|
|
|
|
return unittest.TestLoader().loadTestsFromTestCase(UserTaskParserTest)
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
unittest.TextTestRunner(verbosity=2).run(suite())
|