package org.jbpm.taskmgmt.exe;
import org.jbpm.AbstractJbpmTestCase;
import org.jbpm.graph.def.ProcessDefinition;
import org.jbpm.graph.exe.ProcessInstance;
public class StartTaskTest extends AbstractJbpmTestCase {
public void testStartTaskPresent() {
ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
"<process-definition>" +
" <start-state>" +
" <task name='lets get it started' />" +
" <transition to='going steady' />" +
" </start-state>" +
" <state name='going steady' />" +
"</process-definition>"
);
ProcessInstance processInstance = new ProcessInstance(processDefinition);
TaskInstance taskInstance = processInstance.getTaskMgmtInstance().createStartTaskInstance();
assertNotNull(taskInstance);
assertEquals("lets get it started", taskInstance.getName());
taskInstance.end();
assertEquals("going steady", processInstance.getRootToken().getNode().getName());
}
public void testStartTaskAbsent() {
ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
"<process-definition>" +
" <start-state>" +
" <transition to='going steady' />" +
" </start-state>" +
" <state name='going steady' />" +
"</process-definition>"
);
ProcessInstance processInstance = new ProcessInstance(processDefinition);
TaskInstance taskInstance = processInstance.getTaskMgmtInstance().createStartTaskInstance();
assertNull(taskInstance);
}
}