public void testQueryByActive() { CaseExecutionQuery query = caseService.createCaseExecutionQuery(); query.active(); verifyQueryResults(query, 9); }
@Deployment(resources = "org/camunda/bpm/engine/test/cmmn/cmm10/Cmmn10CompatibilityTest.testRepetitionRuleWithoutEntryCriteria.cmmn") public void testRepetitionRuleWithoutEntryCriteria() { // given createCaseInstanceByKey("case", Variables.createVariables().putValue("repetition", true)); String firstHumanTaskId = queryCaseExecutionByActivityId("PI_HumanTask_1").getId(); // when complete(firstHumanTaskId); // then CaseExecutionQuery query = caseService .createCaseExecutionQuery() .activityId("PI_HumanTask_1"); assertEquals(1, query.count()); assertEquals(1, query.active().count()); }
@Deployment(resources = "org/camunda/bpm/engine/test/cmmn/repetition/RepetitionRuleTest.testVariableBasedRule.cmmn") public void testVariableBasedRepetitionRuleEvaluatesToFalse() { // given VariableMap variables = Variables.createVariables().putValue("repeat", false); createCaseInstanceByKey("case", variables); String humanTask1 = queryCaseExecutionByActivityId("PI_HumanTask_1").getId(); // when complete(humanTask1); // then CaseExecutionQuery query = caseService .createCaseExecutionQuery() .activityId("PI_HumanTask_2"); assertEquals(1, query.count()); assertEquals(1, query.active().count()); }
@Deployment public void testDefaultValueWithEmptyCondition() { createCaseInstanceByKey("case"); String humanTask1 = queryCaseExecutionByActivityId("PI_HumanTask_1").getId(); // when complete(humanTask1); CaseExecutionQuery query = caseService .createCaseExecutionQuery() .activityId("PI_HumanTask_2"); assertEquals(2, query.count()); assertEquals(1, query.available().count()); assertEquals(1, query.active().count()); }
@Deployment(resources = "org/camunda/bpm/engine/test/cmmn/repetition/RepetitionRuleTest.testDefaultVariableBasedRule.cmmn") public void testDefaultVariableBasedRepetitionRuleEvaluatesToFalse() { // given VariableMap variables = Variables.createVariables().putValue("repeat", false); createCaseInstanceByKey("case", variables); String humanTask1 = queryCaseExecutionByActivityId("PI_HumanTask_1").getId(); // when complete(humanTask1); // then CaseExecutionQuery query = caseService .createCaseExecutionQuery() .activityId("PI_HumanTask_2"); assertEquals(1, query.count()); assertEquals(1, query.active().count()); }
@Deployment public void testDefaultValueWithoutCondition() { createCaseInstanceByKey("case"); String humanTask1 = queryCaseExecutionByActivityId("PI_HumanTask_1").getId(); // when complete(humanTask1); CaseExecutionQuery query = caseService .createCaseExecutionQuery() .activityId("PI_HumanTask_2"); assertEquals(2, query.count()); assertEquals(1, query.available().count()); assertEquals(1, query.active().count()); }
@Deployment public void testRepeatTask() { // given createCaseInstance(); String firstHumanTaskId = queryCaseExecutionByActivityId("PI_HumanTask_1").getId(); // when complete(firstHumanTaskId); // then 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); }
@Deployment(resources = "org/camunda/bpm/engine/test/cmmn/repetition/RepetitionRuleTest.testRepeatTask.cmmn") public void testShouldNotRepeatTaskAfterCompletion() { // given createCaseInstance(); String humanTask1 = queryCaseExecutionByActivityId("PI_HumanTask_1").getId(); // when (1) complete(humanTask1); // then (1) CaseExecutionQuery query = caseService .createCaseExecutionQuery() .activityId("PI_HumanTask_2"); assertEquals(2, query.count()); assertEquals(1, query.available().count()); assertEquals(1, query.active().count()); // when (2) String humanTask2 = query.active().singleResult().getId(); complete(humanTask2); // then (2) query = caseService .createCaseExecutionQuery() .activityId("PI_HumanTask_2"); assertEquals(1, query.count()); assertEquals(1, query.available().count()); }
@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); }
@Deployment public void testAutoCompleteStageRequiredRepeatableTask() { // given String caseInstanceId = createCaseInstance().getId(); // then (1) CaseExecutionQuery query = caseService .createCaseExecutionQuery() .activityId("PI_HumanTask_1"); assertEquals(1, query.count()); assertEquals(1, query.active().count()); String activeTaskId = query.singleResult().getId(); // when (2) complete(activeTaskId); // then (2) query = caseService .createCaseExecutionQuery() .activityId("PI_HumanTask_1"); assertEquals(1, query.count()); assertEquals(1, query.active().count()); CaseExecution stage = queryCaseExecutionByActivityId("PI_Stage_1"); assertNotNull(stage); assertTrue(stage.isActive()); CaseInstance caseInstance = (CaseInstance) queryCaseExecutionById(caseInstanceId); assertTrue(caseInstance.isActive()); }
@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()); }
@Deployment(resources = "org/camunda/bpm/engine/test/cmmn/repetition/RepetitionRuleTest.testDefaultVariableBasedRule.cmmn") public void testDefaultVariableBasedRepetitionRuleEvaluatesToTrue() { // given VariableMap variables = Variables.createVariables().putValue("repeat", true); createCaseInstanceByKey("case", variables); String humanTask1 = queryCaseExecutionByActivityId("PI_HumanTask_1").getId(); // when complete(humanTask1); // then CaseExecutionQuery query = caseService .createCaseExecutionQuery() .activityId("PI_HumanTask_2"); assertEquals(2, query.count()); assertEquals(1, query.available().count()); assertEquals(1, query.active().count()); }
@Deployment(resources = "org/camunda/bpm/engine/test/cmmn/repetition/RepetitionRuleTest.testRepeatTaskWithoutEntryCriteria.cmmn") public void testRepeatTaskWithoutEntryCriteriaWhenTerminating() { // 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) terminate(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); terminate(activeCaseExecution.getId()); // then (2) query = caseService.createCaseExecutionQuery(); assertEquals(1, query.count()); assertEquals(caseInstanceId, query.singleResult().getId()); }
@Deployment public void testRepeatStageMultipleTimes() { // given createCaseInstance(); String firstHumanTaskId = queryCaseExecutionByActivityId("PI_HumanTask_1").getId(); // when (1) disable(firstHumanTaskId); // then (1) 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); // when (2) reenable(firstHumanTaskId); disable(firstHumanTaskId); // then (2) query = caseService .createCaseExecutionQuery() .activityId("PI_Stage_1"); assertEquals(3, query.count()); // enabled instances assertEquals(2, query.active().count()); // available instances assertEquals(1, query.available().count()); }
@Deployment(resources = "org/camunda/bpm/engine/test/cmmn/repetition/RepetitionRuleTest.testVariableBasedRule.cmmn") public void testVariableBasedRepetitionRuleEvaluatesToTrue() { // given VariableMap variables = Variables.createVariables().putValue("repeat", true); createCaseInstanceByKey("case", variables); String humanTask1 = queryCaseExecutionByActivityId("PI_HumanTask_1").getId(); // when complete(humanTask1); // then CaseExecutionQuery query = caseService .createCaseExecutionQuery() .activityId("PI_HumanTask_2"); assertEquals(2, query.count()); assertEquals(1, query.available().count()); assertEquals(1, query.active().count()); }
@Deployment public void testAutoCompleteStageAutoActivationRepeatableTask() { // given String caseInstanceId = createCaseInstance().getId(); String stageId = queryCaseExecutionByActivityId("PI_Stage_1").getId(); // then (1) CaseExecutionQuery query = caseService .createCaseExecutionQuery() .activityId("PI_HumanTask_1"); assertEquals(1, query.count()); assertEquals(1, query.active().count()); String activeTaskId = query.singleResult().getId(); // when (2) // completing active task complete(activeTaskId); // then (2) query = caseService .createCaseExecutionQuery() .activityId("PI_HumanTask_1"); assertEquals(1, query.count()); assertEquals(1, query.active().count()); CaseExecution stage = queryCaseExecutionByActivityId("PI_Stage_1"); assertNotNull(stage); assertTrue(stage.isActive()); CaseInstance caseInstance = (CaseInstance) queryCaseExecutionById(caseInstanceId); assertTrue(caseInstance.isActive()); }
@Deployment(resources = "org/camunda/bpm/engine/test/cmmn/repetition/RepetitionRuleTest.testRepeatStageWithoutEntryCriteria.cmmn") public void testRepeatStageWithoutEntryCriteriaWhenTerminating() { // given String caseInstanceId = createCaseInstanceByKey(CASE_ID,Variables.createVariables().putValue("repeating",true)).getId(); CaseExecutionQuery stageQuery = caseService .createCaseExecutionQuery() .activityId("PI_Stage_1"); assertEquals(1, stageQuery.count()); CaseExecution activeStageCaseExecution = stageQuery.active().singleResult(); assertNotNull(activeStageCaseExecution); CaseExecution humanTaskCaseExecution = queryCaseExecutionByActivityId("PI_HumanTask_1"); // when (1) terminate(humanTaskCaseExecution.getId()); // then (1) stageQuery = caseService.createCaseExecutionQuery().activityId("PI_Stage_1"); assertEquals(1, stageQuery.count()); activeStageCaseExecution = stageQuery.active().singleResult(); assertNotNull(activeStageCaseExecution); humanTaskCaseExecution = queryCaseExecutionByActivityId("PI_HumanTask_1"); // when (2) caseService.setVariable(caseInstanceId,"repeating",false); terminate(humanTaskCaseExecution.getId()); // then (2) CaseExecutionQuery query = caseService.createCaseExecutionQuery(); assertEquals(1, query.count()); assertEquals(caseInstanceId, query.singleResult().getId()); }
@Deployment(resources = "org/camunda/bpm/engine/test/cmmn/repetition/RepetitionRuleTest.testRepeatStageWithoutEntryCriteria.cmmn") public void testRepeatStageWithoutEntryCriteriaWhenCompleting() { // given String caseInstanceId = createCaseInstanceByKey(CASE_ID,Variables.createVariables().putValue("repeating",true)).getId(); CaseExecutionQuery stageQuery = caseService .createCaseExecutionQuery() .activityId("PI_Stage_1"); assertEquals(1, stageQuery.count()); CaseExecution activeStageCaseExecution = stageQuery.active().singleResult(); assertNotNull(activeStageCaseExecution); CaseExecution humanTaskCaseExecution = queryCaseExecutionByActivityId("PI_HumanTask_1"); // when (1) complete(humanTaskCaseExecution.getId()); // then (1) stageQuery = caseService.createCaseExecutionQuery().activityId("PI_Stage_1"); assertEquals(1, stageQuery.count()); activeStageCaseExecution = stageQuery.active().singleResult(); assertNotNull(activeStageCaseExecution); humanTaskCaseExecution = queryCaseExecutionByActivityId("PI_HumanTask_1"); // when (2) caseService.setVariable(caseInstanceId,"repeating",false); complete(humanTaskCaseExecution.getId()); // then (3) CaseExecutionQuery query = caseService.createCaseExecutionQuery(); assertEquals(1, query.count()); assertEquals(caseInstanceId, query.singleResult().getId()); }
@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()); }
@Deployment public void testAutoCompleteStageWithoutEntryCriteria() { // given VariableMap variables = Variables.createVariables().putValue("manualActivation", false); String caseInstanceId = createCaseInstanceByKey("case", variables).getId(); // then (1) CaseExecutionQuery query = caseService .createCaseExecutionQuery() .activityId("PI_HumanTask_1"); assertEquals(1, query.count()); assertEquals(1, query.active().count()); String activeTaskId = query.singleResult().getId(); // when (2) // completing active task complete(activeTaskId); // then (2) // the stage should be completed CaseExecution stage = queryCaseExecutionByActivityId("PI_Stage_1"); assertNull(stage); CaseInstance caseInstance = (CaseInstance) queryCaseExecutionById(caseInstanceId); assertTrue(caseInstance.isCompleted()); }