cr-connect-workflow/tests/workflow/test_workflow_dynamic_defau...

34 lines
1.3 KiB
Python

from tests.base_test import BaseTest
class TestValueExpression(BaseTest):
# If there is no default value, a value of 'None' should be given.
def test_no_default(self):
workflow = self.create_workflow('test_value_expression')
workflow_api = self.get_workflow_api(workflow)
first_task = workflow_api.next_task
self.complete_form(workflow, first_task, {'value_expression_value': ''})
workflow_api = self.get_workflow_api(workflow)
second_task = workflow_api.next_task
self.assertEqual('', second_task.data['value_expression_value'])
self.assertNotIn('color', second_task.data)
# If there is dynamic default value, it should be added in to the task data at runtime.
def test_with_dynamic_default(self):
workflow = self.create_workflow('test_value_expression')
workflow_api = self.get_workflow_api(workflow)
first_task = workflow_api.next_task
self.complete_form(workflow, first_task, {'value_expression_value': 'black'})
workflow_api = self.get_workflow_api(workflow)
second_task = workflow_api.next_task
self.assertEqual('black', second_task.data['value_expression_value'])
self.assertEqual('value_expression_value', second_task.form['fields'][0]['default_value'])
self.assertNotIn('color', second_task.data)