@Test @ScenarioUnderTest("init.5") public void testInitThrowUnhandledException() { // given ProcessInstance instance = rule.processInstance(); Task innerMiSubProcessTask = rule.taskQuery().taskDefinitionKey("innerSubProcessTask").singleResult(); // when rule.getRuntimeService() .setVariable(instance.getId(), ThrowBpmnErrorDelegate.EXCEPTION_INDICATOR_VARIABLE, true); rule.getRuntimeService() .setVariable( instance.getId(), ThrowBpmnErrorDelegate.EXCEPTION_MESSAGE_VARIABLE, "unhandledException"); // then try { rule.getTaskService().complete(innerMiSubProcessTask.getId()); Assert.fail("should throw a ThrowBpmnErrorDelegateException"); } catch (ThrowBpmnErrorDelegateException e) { Assert.assertEquals("unhandledException", e.getMessage()); } }
@Test @ScenarioUnderTest("init.1") public void testInitCompletionCase1() { // given Task innerMiSubProcessTask = rule.taskQuery().taskDefinitionKey("innerSubProcessTask").singleResult(); // when the first instance innerSubProcessTask and the other eight instances are completed rule.getTaskService().complete(innerMiSubProcessTask.getId()); for (int i = 0; i < 8; i++) { innerMiSubProcessTask = rule.taskQuery().taskDefinitionKey("innerSubProcessTask").singleResult(); Assert.assertNotNull(innerMiSubProcessTask); rule.getTaskService().complete(innerMiSubProcessTask.getId()); } // then rule.assertScenarioEnded(); }
@Test @ScenarioUnderTest("init.4") public void testInitThrowError() { // given ProcessInstance instance = rule.processInstance(); Task innerMiSubProcessTask = rule.taskQuery().taskDefinitionKey("innerSubProcessTask").singleResult(); // when rule.getRuntimeService() .setVariable(instance.getId(), ThrowBpmnErrorDelegate.ERROR_INDICATOR_VARIABLE, true); rule.getTaskService().complete(innerMiSubProcessTask.getId()); // then Task escalatedTask = rule.taskQuery().singleResult(); Assert.assertEquals("escalatedTask", escalatedTask.getTaskDefinitionKey()); Assert.assertNotNull(escalatedTask); rule.getTaskService().complete(escalatedTask.getId()); rule.assertScenarioEnded(); }