public void testManualStartWithLocalVariables() {
// given
String superCaseInstanceId = createCaseInstance(DEFINITION_KEY).getId();
String caseTaskId = queryCaseExecutionByActivityId(CASE_TASK_KEY).getId();
CaseInstance subCaseInstance = queryCaseInstanceByKey(DEFINITION_KEY_2);
assertNull(subCaseInstance);
// variables
Map<String, Object> variables = new HashMap<String, Object>();
variables.put("aVariableName", "abc");
variables.put("anotherVariableName", 999);
// when
// activate child case execution
caseService
.withCaseExecution(caseTaskId)
.setVariablesLocal(variables)
.manualStart();
// then
subCaseInstance = queryCaseInstanceByKey(DEFINITION_KEY_2);
assertNotNull(subCaseInstance);
assertTrue(subCaseInstance.isActive());
CaseExecution caseTask = queryCaseExecutionByActivityId(CASE_TASK_KEY);
assertTrue(caseTask.isActive());
// the case instance has two variables: