Use Case:
I have a process that is basically a straight-through process, each task is async but there are no real wait-states like intermediate-events, timers or user-task.
So the majority of my jgiven tests reads:
each service tasks just does a simple data retrieval based on data I mocked beforehand.
Idea:
As an alternative to the imperative testing style we use in camunda-bpm-jgiven todaym where we manually move the token through the process to evaluate each step, we should support a scenario based approach.
I want to write
given().assumeOnWaitstate("foo","Lookup im Backend, liefert variable", stage -> stage.job_is_executed("foo"));
when().processRunsTilEnd(...)
then().has_passed("startEvent,"foo","endEvent")
Implementation
loop until processInstance is ended (Attention: isEnded has to be reloaded from the runtimeService, do not use the attribute of the processInstanceSupplier)
provide a Map<ActivityId,Consumer<Stage>> where we can register custom behaviour to be executed in the same way as we would in a step-function
Use Case: I have a process that is basically a straight-through process, each task is async but there are no real wait-states like intermediate-events, timers or user-task. So the majority of my jgiven tests reads:
each service tasks just does a simple data retrieval based on data I mocked beforehand.
Idea:
As an alternative to the imperative testing style we use in camunda-bpm-jgiven todaym where we manually move the token through the process to evaluate each step, we should support a scenario based approach.
I want to write
Implementation
Map<ActivityId,Consumer<Stage>>
where we can register custom behaviour to be executed in the same way as we would in a step-function