package com.effektif.workflow.test.api; import static org.junit.Assert.assertEquals; import org.junit.Test; import com.effektif.workflow.api.model.TriggerInstance; import com.effektif.workflow.api.types.TextType; import com.effektif.workflow.api.workflow.ExecutableWorkflow; import com.effektif.workflow.api.workflow.Variable; import com.effektif.workflow.api.workflowinstance.WorkflowInstance; import com.effektif.workflow.test.WorkflowTest; /** * @author Christian Wiggert */ public class VariableTest extends WorkflowTest { @Test public void testVariableDefaultValue() { Variable var = new Variable() .id("v") .type(new TextType()) .defaultValue("This is a string!"); ExecutableWorkflow workflow = new ExecutableWorkflow().variable(var); deploy(workflow); WorkflowInstance workflowInstance = workflowEngine.start(new TriggerInstance() .workflowId(workflow.getId())); Object value = workflowInstance.getVariableValue("v"); assertEquals("The variable default value was ignored.", "This is a string!", value); } @Test public void testDefaultValueIsOverwritten() { Variable var = new Variable() .id("v") .type(new TextType()) .defaultValue("This is a string!"); ExecutableWorkflow workflow = new ExecutableWorkflow().variable(var); deploy(workflow); WorkflowInstance workflowInstance = workflowEngine.start(new TriggerInstance() .workflowId(workflow.getId()) .data("v", "No, it's not!")); Object value = workflowInstance.getVariableValue("v"); assertEquals("The trigger data didn't overwrite the default value.", "No, it's not!", value); } }