mirror of
https://github.com/sartography/cr-connect-workflow.git
synced 2025-02-24 13:48:30 +00:00
the backend shouldn't try to set a dynamic default value. Instead, the frontend will initialize it to an empty string, then evaluate a default value, then choose to set it. (Basically, move this function from the backend and put the burden on formly)
34 lines
1.3 KiB
Python
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)
|