SUNILathulya commented on code in PR #6849:
URL: https://github.com/apache/incubator-kie/pull/6849#discussion_r3819433348
##########
kogito-jbpm/jbpm-tests/src/test/java/org/jbpm/bpmn2/StandaloneBPMNProcessTest.java:
##########
@@ -453,36 +453,26 @@ public void testEventBasedSplit4() {
}
@Test
- public void testEventBasedSplit5() throws Exception {
- kruntime =
createKogitoProcessRuntime("org/jbpm/bpmn2/intermediate/BPMN2-EventBasedSplit5.bpmn2");
-
- kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Email1",
new SystemOutWorkItemHandler());
- kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Email2",
new SystemOutWorkItemHandler());
- ReceiveTaskHandler receiveTaskHandler = new ReceiveTaskHandler();
- kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Receive
Task", receiveTaskHandler);
+ public void testEventBasedSplit5() {
+ Application app = ProcessTestHelper.newApplication();
+ ProcessTestHelper.registerHandler(app, "Email1", new
SystemOutWorkItemHandler());
+ ProcessTestHelper.registerHandler(app, "Email2", new
SystemOutWorkItemHandler());
+ ProcessTestHelper.registerHandler(app, "Receive Task", new
ReceiveTaskHandler());
+
org.kie.kogito.process.Process<org.jbpm.bpmn2.intermediate.EventBasedSplit5Model>
processDefinition =
+
org.jbpm.bpmn2.intermediate.EventBasedSplit5Process.newProcess(app);
// Yes
- KogitoProcessInstance processInstance =
kruntime.startProcess("EventBasedSplit5");
-
assertThat(processInstance.getState()).isEqualTo(KogitoProcessInstance.STATE_ACTIVE);
- kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Email1",
new SystemOutWorkItemHandler());
- kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Email2",
new SystemOutWorkItemHandler());
- kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Receive
Task", receiveTaskHandler);
-
- receiveTaskHandler.getWorkItemId().stream().findFirst().ifPresent(id
-> kruntime.getKogitoWorkItemManager().completeWorkItem(id, Map.of("Message",
"YesValue")));
-
- assertProcessInstanceCompleted(processInstance.getStringId(),
kruntime);
-
- receiveTaskHandler.getWorkItemId().forEach(id ->
kruntime.getKogitoWorkItemManager().completeWorkItem(id, Map.of("Message",
"NoValue")));
-
- kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Email1",
new SystemOutWorkItemHandler());
- kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Email2",
new SystemOutWorkItemHandler());
- kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Receive
Task", receiveTaskHandler);
+ ProcessInstance<org.jbpm.bpmn2.intermediate.EventBasedSplit5Model>
processInstance =
+
processDefinition.createInstance(processDefinition.createModel());
+ processInstance.start();
+
assertThat(processInstance.status()).isEqualTo(ProcessInstance.STATE_ACTIVE);
+ ProcessTestHelper.completeWorkItem(processInstance, Map.of("Message",
"YesValue"));
+
assertThat(processInstance.status()).isEqualTo(ProcessInstance.STATE_COMPLETED);
// No
- processInstance = kruntime.startProcess("EventBasedSplit5");
- receiveTaskHandler.getWorkItemId().stream().findFirst().ifPresent(id
-> kruntime.getKogitoWorkItemManager().completeWorkItem(id, Map.of("Message",
"NoValue")));
-
- assertProcessInstanceCompleted(processInstance.getStringId(),
kruntime);
-
- receiveTaskHandler.getWorkItemId().stream().findFirst().ifPresent(id
-> kruntime.getKogitoWorkItemManager().completeWorkItem(id, Map.of("Message",
"YesValue")));
+ processInstance =
processDefinition.createInstance(processDefinition.createModel());
+ processInstance.start();
+
assertThat(processInstance.status()).isEqualTo(ProcessInstance.STATE_ACTIVE);
+ ProcessTestHelper.completeWorkItem(processInstance, Map.of("Message",
"NoValue"));
Review Comment:
@martinweiler Thank you for the suggestion!
Fixed in the commit
[d6f7518](https://github.com/apache/incubator-kie/pull/6849/commits/d6f7518ce3835185ec61400e9e76da70a4ab6895).
Both the Yes and No runs now explicitly filter work items by name before
completing, and assert the value of x .
Note: The variable was renamed from processInstance to
yesInstance/noInstance to make it effectively final, which is required since it
is referenced inside the ifPresent lambda — using a reassigned variable
directly in a lambda causes a compilation error.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]