cr-connect-workflow/tests/workflow/test_workflow_dynamic_default.py
alicia pritchett 218429f196 Refactor test workflow_value_expression
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)
2022-02-17 12:25:40 -05:00

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)