use of org.camunda.bpm.engine.runtime.CaseExecution in project camunda-bpm-platform by camunda.
the class RepetitionRuleTest method testRepeatStage.
@Deployment
public void testRepeatStage() {
// given
createCaseInstance();
String firstHumanTaskId = queryCaseExecutionByActivityId("PI_HumanTask_1").getId();
// when
complete(firstHumanTaskId);
// then
CaseExecutionQuery query = caseService.createCaseExecutionQuery().activityId("PI_Stage_1");
assertEquals(2, query.count());
CaseExecution originInstance = query.active().singleResult();
assertNotNull(originInstance);
CaseExecution repetitionInstance = query.available().singleResult();
assertNotNull(repetitionInstance);
}
use of org.camunda.bpm.engine.runtime.CaseExecution in project camunda-bpm-platform by camunda.
the class RepetitionRuleTest method testRepeatTaskWithoutEntryCriteriaWhenCompleting.
@Deployment(resources = "org/camunda/bpm/engine/test/cmmn/repetition/RepetitionRuleTest.testRepeatTaskWithoutEntryCriteria.cmmn")
public void testRepeatTaskWithoutEntryCriteriaWhenCompleting() {
// given
String caseInstanceId = createCaseInstanceByKey(CASE_ID, Variables.createVariables().putValue("repeating", true)).getId();
CaseExecutionQuery query = caseService.createCaseExecutionQuery().activityId("PI_HumanTask_1");
assertEquals(1, query.count());
CaseExecution activeCaseExecution = query.active().singleResult();
assertNotNull(activeCaseExecution);
// when (1)
complete(activeCaseExecution.getId());
// then (1)
query = caseService.createCaseExecutionQuery().activityId("PI_HumanTask_1");
assertEquals(1, query.count());
activeCaseExecution = query.active().singleResult();
assertNotNull(activeCaseExecution);
// when (2)
caseService.setVariable(caseInstanceId, "repeating", false);
complete(activeCaseExecution.getId());
// then (2)
query = caseService.createCaseExecutionQuery().activityId("PI_HumanTask_1");
assertEquals(0, query.count());
// then (3)
query = caseService.createCaseExecutionQuery();
assertEquals(1, query.count());
assertEquals(caseInstanceId, query.singleResult().getId());
}
use of org.camunda.bpm.engine.runtime.CaseExecution in project camunda-bpm-platform by camunda.
the class RepetitionRuleTest method testRepeatTaskWithoutEntryCriteriaOnCustomStandardEvent.
@Deployment
public void testRepeatTaskWithoutEntryCriteriaOnCustomStandardEvent() {
// given
String caseInstanceId = createCaseInstance().getId();
CaseExecutionQuery query = caseService.createCaseExecutionQuery().activityId("PI_HumanTask_1");
assertEquals(1, query.count());
CaseExecution enabledCaseExecution = query.enabled().singleResult();
assertNotNull(enabledCaseExecution);
// when (1)
disable(enabledCaseExecution.getId());
// then (1)
query = caseService.createCaseExecutionQuery().activityId("PI_HumanTask_1");
assertEquals(2, query.count());
enabledCaseExecution = query.enabled().singleResult();
assertNotNull(enabledCaseExecution);
// when (2)
disable(enabledCaseExecution.getId());
// then (2)
query = caseService.createCaseExecutionQuery().activityId("PI_HumanTask_1");
assertEquals(3, query.count());
enabledCaseExecution = query.enabled().singleResult();
assertNotNull(enabledCaseExecution);
// when (3)
complete(caseInstanceId);
// then (3)
query = caseService.createCaseExecutionQuery();
assertEquals(1, query.count());
assertEquals(caseInstanceId, query.singleResult().getId());
}
use of org.camunda.bpm.engine.runtime.CaseExecution in project camunda-bpm-platform by camunda.
the class RepetitionRuleTest method testRepeatTaskMultipleTimes.
@Deployment
public void testRepeatTaskMultipleTimes() {
// given
createCaseInstance();
String firstHumanTaskId = queryCaseExecutionByActivityId("PI_HumanTask_1").getId();
// when (1)
disable(firstHumanTaskId);
// then (1)
CaseExecutionQuery query = caseService.createCaseExecutionQuery().activityId("PI_HumanTask_2");
assertEquals(2, query.count());
CaseExecution originInstance = query.active().singleResult();
assertNotNull(originInstance);
CaseExecution repetitionInstance = query.available().singleResult();
assertNotNull(repetitionInstance);
// when (2)
reenable(firstHumanTaskId);
disable(firstHumanTaskId);
// then (2)
query = caseService.createCaseExecutionQuery().activityId("PI_HumanTask_2");
assertEquals(3, query.count());
// active instances
assertEquals(2, query.active().count());
// available instances
assertEquals(1, query.available().count());
}
use of org.camunda.bpm.engine.runtime.CaseExecution in project camunda-bpm-platform by camunda.
the class SentryCombinedEntryAndExitCriteriaTest method FAILING_testParentSuspendInsideStageDifferentPlanItemOrder.
@Deployment(resources = { "org/camunda/bpm/engine/test/cmmn/sentry/SentryCombinedEntryAndExitCriteriaTest.testParentSuspendInsideStageDifferentPlanItemOrder.cmmn" })
public void FAILING_testParentSuspendInsideStageDifferentPlanItemOrder() {
// given
createCaseInstance();
CaseExecution stage = queryCaseExecutionByActivityId("PI_Stage_1");
String stageId = stage.getId();
manualStart(stageId);
CaseExecution firstHumanTask = queryCaseExecutionByActivityId("PI_HumanTask_1");
String firstHumanTaskId = firstHumanTask.getId();
assertTrue(firstHumanTask.isEnabled());
CaseExecution secondHumanTask = queryCaseExecutionByActivityId("PI_HumanTask_2");
String secondHumanTaskId = secondHumanTask.getId();
assertTrue(secondHumanTask.isEnabled());
CaseExecution thirdHumanTask = queryCaseExecutionByActivityId("PI_HumanTask_3");
String thirdHumanTaskId = thirdHumanTask.getId();
assertTrue(thirdHumanTask.isAvailable());
// when
suspend(stageId);
// then
stage = queryCaseExecutionById(stageId);
assertTrue(((CaseExecutionEntity) stage).isSuspended());
firstHumanTask = queryCaseExecutionById(firstHumanTaskId);
assertTrue(((CaseExecutionEntity) firstHumanTask).isSuspended());
secondHumanTask = queryCaseExecutionById(secondHumanTaskId);
assertNull(secondHumanTask);
thirdHumanTask = queryCaseExecutionById(thirdHumanTaskId);
assertTrue(((CaseExecutionEntity) thirdHumanTask).isSuspended());
assertEquals(CaseExecutionState.ENABLED, ((CaseExecutionEntity) thirdHumanTask).getPreviousState());
}
Aggregations