Skip to content
Snippets Groups Projects
Commit ea08d765 authored by tfli's avatar tfli
Browse files

Added input and outputvariables for multiple elements

parent 848c2c1a
No related branches found
No related tags found
No related merge requests found
Showing
with 125 additions and 2101 deletions
...@@ -2,6 +2,5 @@ package de.sample.onlineschuhdemo; ...@@ -2,6 +2,5 @@ package de.sample.onlineschuhdemo;
public class BusinessRuleTasks { public class BusinessRuleTasks {
public static final String VERNICHTUNG_ERMITTELN = "Vernichtung_ermitteln";
} }
...@@ -2,7 +2,5 @@ package de.sample.onlineschuhdemo; ...@@ -2,7 +2,5 @@ package de.sample.onlineschuhdemo;
public class Events { public class Events {
public static final String RETOURE_START = "Retoure_Start";
public static final String RETOURE_ENDE = "Retoure_Ende";
} }
...@@ -5,47 +5,5 @@ import java.util.Map; ...@@ -5,47 +5,5 @@ import java.util.Map;
public class ExternalServiceMockProvider { public class ExternalServiceMockProvider {
private static final String VAR_KUNDENNUMMER = "kundennummer";
private static final String VAR_FIRSTNAME = "firstname";
private static final String VAR_LASTNAME = "lastname";
private static final String VAR_SERVICEIDENTIFIER = "serviceIdentifier";
private static final String VAR_IBAN = "iban";
private static final String VAR_IBANREFUND = "ibanRefund";
private static final String VAR_CONFIRMATIONEMAILSENT = "confirmationEmailSent";
public static final Map<String, Object> customerProvider(Map<String, Object> input) {
Map<String, Object> output = new HashMap<String, Object>();
String kundennummer = (String) input.get(VAR_KUNDENNUMMER);
if("C-123A456".equals(kundennummer)) {
output.put(VAR_FIRSTNAME, "Max");
output.put(VAR_LASTNAME, "Mustermann");
} else if("C-987A654".equals(kundennummer)) {
output.put(VAR_FIRSTNAME, "Erika");
output.put(VAR_LASTNAME, "Mustermann");
}
return output;
}
public static final Map<String, Object> financialMock(Map<String, Object> input) {
Map<String, Object> output = new HashMap<String, Object>();
String serviceIdentifier = (String) input.get(VAR_SERVICEIDENTIFIER);
String kundennummer = (String) input.get(VAR_KUNDENNUMMER);
String iban = (String) input.get(VAR_IBAN);
if("getData".equals(serviceIdentifier) && "C-123A456".equals(kundennummer)) {
output.put(VAR_IBANREFUND, "DE12345678900000123456");
} else if("getData".equals(serviceIdentifier) && "C-987A654".equals(kundennummer)) {
output.put(VAR_IBANREFUND, "DE12345678900000987654");
} else if("refund".equals(serviceIdentifier) && "DE12345678900000123456".equals(iban)) {
output.put(VAR_CONFIRMATIONEMAILSENT, "Nein");
} else if("refund".equals(serviceIdentifier)) {
output.put(VAR_CONFIRMATIONEMAILSENT, "Ja");
}
return output;
}
} }
...@@ -2,17 +2,5 @@ package de.sample.onlineschuhdemo; ...@@ -2,17 +2,5 @@ package de.sample.onlineschuhdemo;
public class Gateways { public class Gateways {
public static final String GATEWAY_PARALLEL_LAGER_NEUSENDUNG = "Gateway_Parallel_Lager_Neusendung";
public static final String GATEWAY_BESCHAEDIGT = "Gateway_Beschaedigt";
public static final String GATEWAY_BESCHAEDIGT_CLOSE = "Gateway_Beschaedigt_Close";
public static final String GATEWAY_NEUSENDUNG = "Gateway_Neusendung";
public static final String GATEWAY_NEUSENDUNG_CLOSED = "Gateway_Neusendung_Closed";
public static final String GATEWAY_PARALLEL_LAGER_NEUSENDUNG_CLOSED = "Gateway_Parallel_Lager_Neusendung_Closed";
public static final String GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED = "Gateway_Einpackung_Fehlerhaft_Closed";
public static final String GATEWAY_EINPACKUNG_FEHLERHAFT = "Gateway_Einpackung_Fehlerhaft";
public static final String GATEWAY_AUSPACKEN = "Gateway_Auspacken";
public static final String GATEWAY_14EVKAP = "Gateway_14evkap";
public static final String GATEWAY_VERNICHTUNG = "Gateway_Vernichtung";
public static final String GATEWAY_VERNICHTUNG_CLOSE = "Gateway_Vernichtung_Close";
} }
...@@ -2,8 +2,5 @@ package de.sample.onlineschuhdemo; ...@@ -2,8 +2,5 @@ package de.sample.onlineschuhdemo;
public class ManualTasks { public class ManualTasks {
public static final String WARE_EINSORTIEREN = "Ware_einsortieren";
public static final String WARE_AUSPACKEN_NORMAL = "Ware_auspacken_normal";
public static final String WARE_AUSPACKEN_LUXUS = "Ware_auspacken_luxus";
} }
package de.sample.onlineschuhdemo;
import static org.camunda.bpm.engine.test.assertions.ProcessEngineTests.*;
import static org.camunda.bpm.engine.test.assertions.bpmn.BpmnAwareTests.complete;
import static org.camunda.bpm.engine.test.assertions.bpmn.BpmnAwareTests.runtimeService;
import static org.camunda.bpm.engine.test.assertions.bpmn.BpmnAwareTests.task;
import static org.camunda.bpm.engine.test.assertions.bpmn.BpmnAwareTests.withVariables;
import static org.assertj.core.api.Assertions.entry;
import static de.sample.onlineschuhdemo.TestUtils.*;
import org.apache.ibatis.logging.LogFactory;
import org.camunda.bpm.engine.runtime.ProcessInstance;
import org.camunda.bpm.engine.test.Deployment;
import org.camunda.bpm.engine.test.ProcessEngineRule;
import org.camunda.bpm.engine.externaltask.LockedExternalTask;
import org.camunda.bpm.engine.test.mock.Mocks;
import de.sample.onlineschuhdemo.externalaccess.LagerService;
import de.sample.onlineschuhdemo.externalaccess.WarennummerErmittelnDelegate;
import org.camunda.bpm.extension.process_test_coverage.junit.rules.TestCoverageProcessEngineRuleBuilder;
import org.junit.Before;
import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
import java.util.List;
import java.util.Map;
public class MatchingTestcollectionOld {
@ClassRule
@Rule
public static ProcessEngineRule rule = TestCoverageProcessEngineRuleBuilder.create().build();
private static final String VAR_KUNDENNUMMER = "kundennummer";
private static final String VAR_MARKE = "marke";
private static final String VAR_IBAN = "iban";
private static final String VAR_VORNAME = "vorname";
private static final String VAR_NACHNAME = "nachname";
private static final String VAR_PAKETTYP = "pakettyp";
private static final String VAR_EMAILGESENDET = "emailGesendet";
private static final String VAR_FIRSTNAME = "firstname";
private static final String VAR_LASTNAME = "lastname";
private static final String VAR_IBANREFUND = "ibanRefund";
private static final String VAR_CONFIRMATIONEMAILSENT = "confirmationEmailSent";
private static final String VAR_SERVICEIDENTIFIER = "serviceIdentifier";
private static final String VAR_PREIS = "preis";
private static final String VAR_ERSTATTUNG = "erstattung";
private static final String VAR_PAKET = "paket";
private static final String VAR_BESCHAEDIGT = "beschaedigt";
static {
LogFactory.useSlf4jLogging();
}
@Before
public void setup() {
init(rule.getProcessEngine());
LagerService lagerService = new LagerService();
WarennummerErmittelnDelegate warennummerErmittelnDelegate = new WarennummerErmittelnDelegate();
warennummerErmittelnDelegate.setLagerService(lagerService);
Mocks.register("warennummer", warennummerErmittelnDelegate);
}
@Test
@Deployment(resources = {"retoure.bpmn", "\\schuh_vernichtung_spende.dmn"})
public void normalverpackungAuspacken() {
ProcessInstance processInstance = runtimeService() //
.startProcessInstanceByKey("Retoure", withVariables(VAR_BESCHAEDIGT, false, VAR_ERSTATTUNG, false, VAR_KUNDENNUMMER, "C-123A456")); //
assertThat(processInstance) //
.isStarted() //
.hasPassed(Events.RETOURE_START) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT) //
.hasPassed(ManualTasks.WARE_EINSORTIEREN) //
.hasPassed(ManualTasks.NEW_TASK_1) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT_CLOSE) //
.hasNotPassed(ServiceTasks.KUNDENDATEN_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_NEUSENDUNG) //
.hasNotPassed(UserTasks.MANUELLE_PRUEFUNG) //
.hasNotPassed(ServiceTasks.WARENNUMMER_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasNotPassed(UserTasks.PAKET_PACKEN) //
.hasNotPassed(UserTasks.PAKET_PRUEFEN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasNotPassed(Gateways.GATEWAY_AUSPACKEN) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_LUXUS) //
.hasNotPassed(Gateways.GATEWAY_14EVKAP) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasNotPassed(UserTasks.PAKET_PACKEN) //
.hasNotPassed(UserTasks.PAKET_PRUEFEN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasNotPassed(UserTasks.PAKET_SENDEN) //
.hasNotPassed(Gateways.GATEWAY_NEUSENDUNG_CLOSED) //
.hasNotPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG_CLOSED) //
.hasNotPassed(Events.RETOURE_ENDE) //
.hasNotPassed(ServiceTasks.FINANZDATEN_ERMITTELN) //
.hasNotPassed(ServiceTasks.ERSTATTUNG) //
.hasNotPassed(ManualTasks.NEW_TASK_2) //
.hasNotPassed(ManualTasks.NEW_FLOW_2) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_NORMAL) //
.hasNotPassed(UserTasks.WARENDATEN_ERFASSEN) //
.hasNotPassed(BusinessRuleTasks.VERNICHTUNG_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG) //
.hasNotPassed(UserTasks.WARE_VERNICHTEN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG_CLOSE) //
.hasNotPassed(UserTasks.WARE_SPENDEN) //
.isNotEnded(); //
Map<String, Object> variableSnapshot0 = runtimeService() //
.getVariables(processInstance.getId()); //
List<LockedExternalTask> lockedTasks0 = lockTasks("customer");
complete(getLockedTask(lockedTasks0, ServiceTasks.KUNDENDATEN_ERMITTELN), ExternalServiceMockProvider.customerProvider(variableSnapshot0));
assertThat(processInstance) //
.hasPassed(Events.RETOURE_START) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT) //
.hasPassed(ManualTasks.WARE_EINSORTIEREN) //
.hasPassed(ManualTasks.NEW_TASK_1) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT_CLOSE) //
.hasPassed(ServiceTasks.KUNDENDATEN_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_NEUSENDUNG) //
.hasNotPassed(UserTasks.MANUELLE_PRUEFUNG) //
.hasNotPassed(ServiceTasks.WARENNUMMER_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasNotPassed(UserTasks.PAKET_PACKEN) //
.hasNotPassed(UserTasks.PAKET_PRUEFEN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasNotPassed(Gateways.GATEWAY_AUSPACKEN) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_LUXUS) //
.hasNotPassed(Gateways.GATEWAY_14EVKAP) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasNotPassed(UserTasks.PAKET_PACKEN) //
.hasNotPassed(UserTasks.PAKET_PRUEFEN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasNotPassed(UserTasks.PAKET_SENDEN) //
.hasNotPassed(Gateways.GATEWAY_NEUSENDUNG_CLOSED) //
.hasNotPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG_CLOSED) //
.hasNotPassed(Events.RETOURE_ENDE) //
.hasNotPassed(ServiceTasks.FINANZDATEN_ERMITTELN) //
.hasNotPassed(ServiceTasks.ERSTATTUNG) //
.hasNotPassed(ManualTasks.NEW_TASK_2) //
.hasNotPassed(ManualTasks.NEW_FLOW_2) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_NORMAL) //
.hasNotPassed(UserTasks.WARENDATEN_ERFASSEN) //
.hasNotPassed(BusinessRuleTasks.VERNICHTUNG_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG) //
.hasNotPassed(UserTasks.WARE_VERNICHTEN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG_CLOSE) //
.hasNotPassed(UserTasks.WARE_SPENDEN) //
.isNotEnded(); //
complete(task(UserTasks.MANUELLE_PRUEFUNG));
assertThat(processInstance) //
.hasPassed(Events.RETOURE_START) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT) //
.hasPassed(ManualTasks.WARE_EINSORTIEREN) //
.hasPassed(ManualTasks.NEW_TASK_1) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT_CLOSE) //
.hasPassed(ServiceTasks.KUNDENDATEN_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_NEUSENDUNG) //
.hasPassed(UserTasks.MANUELLE_PRUEFUNG) //
.hasPassed(ServiceTasks.WARENNUMMER_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasNotPassed(UserTasks.PAKET_PACKEN) //
.hasNotPassed(UserTasks.PAKET_PRUEFEN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasNotPassed(Gateways.GATEWAY_AUSPACKEN) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_LUXUS) //
.hasNotPassed(Gateways.GATEWAY_14EVKAP) //
.hasPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasNotPassed(UserTasks.PAKET_PACKEN) //
.hasNotPassed(UserTasks.PAKET_PRUEFEN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasNotPassed(UserTasks.PAKET_SENDEN) //
.hasNotPassed(Gateways.GATEWAY_NEUSENDUNG_CLOSED) //
.hasNotPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG_CLOSED) //
.hasNotPassed(Events.RETOURE_ENDE) //
.hasNotPassed(ServiceTasks.FINANZDATEN_ERMITTELN) //
.hasNotPassed(ServiceTasks.ERSTATTUNG) //
.hasNotPassed(ManualTasks.NEW_TASK_2) //
.hasNotPassed(ManualTasks.NEW_FLOW_2) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_NORMAL) //
.hasNotPassed(UserTasks.WARENDATEN_ERFASSEN) //
.hasNotPassed(BusinessRuleTasks.VERNICHTUNG_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG) //
.hasNotPassed(UserTasks.WARE_VERNICHTEN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG_CLOSE) //
.hasNotPassed(UserTasks.WARE_SPENDEN) //
.isNotEnded(); //
complete(task(UserTasks.PAKET_PACKEN), withVariables(VAR_PAKETTYP, "Normalverpackung"));
assertThat(processInstance) //
.hasPassed(Events.RETOURE_START) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT) //
.hasPassed(ManualTasks.WARE_EINSORTIEREN) //
.hasPassed(ManualTasks.NEW_TASK_1) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT_CLOSE) //
.hasPassed(ServiceTasks.KUNDENDATEN_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_NEUSENDUNG) //
.hasPassed(UserTasks.MANUELLE_PRUEFUNG) //
.hasPassed(ServiceTasks.WARENNUMMER_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasPassed(UserTasks.PAKET_PACKEN) //
.hasNotPassed(UserTasks.PAKET_PRUEFEN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasNotPassed(Gateways.GATEWAY_AUSPACKEN) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_LUXUS) //
.hasNotPassed(Gateways.GATEWAY_14EVKAP) //
.hasPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasPassed(UserTasks.PAKET_PACKEN) //
.hasNotPassed(UserTasks.PAKET_PRUEFEN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasNotPassed(UserTasks.PAKET_SENDEN) //
.hasNotPassed(Gateways.GATEWAY_NEUSENDUNG_CLOSED) //
.hasNotPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG_CLOSED) //
.hasNotPassed(Events.RETOURE_ENDE) //
.hasNotPassed(ServiceTasks.FINANZDATEN_ERMITTELN) //
.hasNotPassed(ServiceTasks.ERSTATTUNG) //
.hasNotPassed(ManualTasks.NEW_TASK_2) //
.hasNotPassed(ManualTasks.NEW_FLOW_2) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_NORMAL) //
.hasNotPassed(UserTasks.WARENDATEN_ERFASSEN) //
.hasNotPassed(BusinessRuleTasks.VERNICHTUNG_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG) //
.hasNotPassed(UserTasks.WARE_VERNICHTEN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG_CLOSE) //
.hasNotPassed(UserTasks.WARE_SPENDEN) //
.isNotEnded(); //
complete(task(UserTasks.PAKET_PRUEFEN), withVariables(VAR_PAKET, false));
assertThat(processInstance) //
.hasPassed(Events.RETOURE_START) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT) //
.hasPassed(ManualTasks.WARE_EINSORTIEREN) //
.hasPassed(ManualTasks.NEW_TASK_1) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT_CLOSE) //
.hasPassed(ServiceTasks.KUNDENDATEN_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_NEUSENDUNG) //
.hasPassed(UserTasks.MANUELLE_PRUEFUNG) //
.hasPassed(ServiceTasks.WARENNUMMER_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasPassed(UserTasks.PAKET_PACKEN) //
.hasPassed(UserTasks.PAKET_PRUEFEN) //
.hasPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasPassed(Gateways.GATEWAY_AUSPACKEN) //
.hasPassed(ManualTasks.WARE_AUSPACKEN_LUXUS) //
.hasPassed(Gateways.GATEWAY_14EVKAP) //
.hasPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasPassed(UserTasks.PAKET_PACKEN) //
.hasPassed(UserTasks.PAKET_PRUEFEN) //
.hasPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasNotPassed(UserTasks.PAKET_SENDEN) //
.hasNotPassed(Gateways.GATEWAY_NEUSENDUNG_CLOSED) //
.hasNotPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG_CLOSED) //
.hasNotPassed(Events.RETOURE_ENDE) //
.hasNotPassed(ServiceTasks.FINANZDATEN_ERMITTELN) //
.hasNotPassed(ServiceTasks.ERSTATTUNG) //
.hasNotPassed(ManualTasks.NEW_TASK_2) //
.hasNotPassed(ManualTasks.NEW_FLOW_2) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_NORMAL) //
.hasNotPassed(UserTasks.WARENDATEN_ERFASSEN) //
.hasNotPassed(BusinessRuleTasks.VERNICHTUNG_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG) //
.hasNotPassed(UserTasks.WARE_VERNICHTEN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG_CLOSE) //
.hasNotPassed(UserTasks.WARE_SPENDEN) //
.isNotEnded(); //
complete(task(UserTasks.PAKET_PACKEN), withVariables(VAR_PAKETTYP, "Luxusverpackung"));
assertThat(processInstance) //
.hasPassed(Events.RETOURE_START) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT) //
.hasPassed(ManualTasks.WARE_EINSORTIEREN) //
.hasPassed(ManualTasks.NEW_TASK_1) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT_CLOSE) //
.hasPassed(ServiceTasks.KUNDENDATEN_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_NEUSENDUNG) //
.hasPassed(UserTasks.MANUELLE_PRUEFUNG) //
.hasPassed(ServiceTasks.WARENNUMMER_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasPassed(UserTasks.PAKET_PACKEN) //
.hasPassed(UserTasks.PAKET_PRUEFEN) //
.hasPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasPassed(Gateways.GATEWAY_AUSPACKEN) //
.hasPassed(ManualTasks.WARE_AUSPACKEN_LUXUS) //
.hasPassed(Gateways.GATEWAY_14EVKAP) //
.hasPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasPassed(UserTasks.PAKET_PACKEN) //
.hasPassed(UserTasks.PAKET_PRUEFEN) //
.hasPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasNotPassed(UserTasks.PAKET_SENDEN) //
.hasNotPassed(Gateways.GATEWAY_NEUSENDUNG_CLOSED) //
.hasNotPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG_CLOSED) //
.hasNotPassed(Events.RETOURE_ENDE) //
.hasNotPassed(ServiceTasks.FINANZDATEN_ERMITTELN) //
.hasNotPassed(ServiceTasks.ERSTATTUNG) //
.hasNotPassed(ManualTasks.NEW_TASK_2) //
.hasNotPassed(ManualTasks.NEW_FLOW_2) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_NORMAL) //
.hasNotPassed(UserTasks.WARENDATEN_ERFASSEN) //
.hasNotPassed(BusinessRuleTasks.VERNICHTUNG_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG) //
.hasNotPassed(UserTasks.WARE_VERNICHTEN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG_CLOSE) //
.hasNotPassed(UserTasks.WARE_SPENDEN) //
.isNotEnded(); //
complete(task(UserTasks.PAKET_PRUEFEN), withVariables(VAR_PAKET, true));
assertThat(processInstance) //
.hasPassed(Events.RETOURE_START) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT) //
.hasPassed(ManualTasks.WARE_EINSORTIEREN) //
.hasPassed(ManualTasks.NEW_TASK_1) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT_CLOSE) //
.hasPassed(ServiceTasks.KUNDENDATEN_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_NEUSENDUNG) //
.hasPassed(UserTasks.MANUELLE_PRUEFUNG) //
.hasPassed(ServiceTasks.WARENNUMMER_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasPassed(UserTasks.PAKET_PACKEN) //
.hasPassed(UserTasks.PAKET_PRUEFEN) //
.hasPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasPassed(Gateways.GATEWAY_AUSPACKEN) //
.hasPassed(ManualTasks.WARE_AUSPACKEN_LUXUS) //
.hasPassed(Gateways.GATEWAY_14EVKAP) //
.hasPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasPassed(UserTasks.PAKET_PACKEN) //
.hasPassed(UserTasks.PAKET_PRUEFEN) //
.hasPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasNotPassed(UserTasks.PAKET_SENDEN) //
.hasNotPassed(Gateways.GATEWAY_NEUSENDUNG_CLOSED) //
.hasNotPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG_CLOSED) //
.hasNotPassed(Events.RETOURE_ENDE) //
.hasNotPassed(ServiceTasks.FINANZDATEN_ERMITTELN) //
.hasNotPassed(ServiceTasks.ERSTATTUNG) //
.hasNotPassed(ManualTasks.NEW_TASK_2) //
.hasNotPassed(ManualTasks.NEW_FLOW_2) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_NORMAL) //
.hasNotPassed(UserTasks.WARENDATEN_ERFASSEN) //
.hasNotPassed(BusinessRuleTasks.VERNICHTUNG_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG) //
.hasNotPassed(UserTasks.WARE_VERNICHTEN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG_CLOSE) //
.hasNotPassed(UserTasks.WARE_SPENDEN) //
.isNotEnded(); //
complete(task(UserTasks.PAKET_SENDEN));
assertThat(processInstance) //
.hasPassed(Events.RETOURE_START) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT) //
.hasPassed(ManualTasks.WARE_EINSORTIEREN) //
.hasPassed(ManualTasks.NEW_TASK_1) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT_CLOSE) //
.hasPassed(ServiceTasks.KUNDENDATEN_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_NEUSENDUNG) //
.hasPassed(UserTasks.MANUELLE_PRUEFUNG) //
.hasPassed(ServiceTasks.WARENNUMMER_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasPassed(UserTasks.PAKET_PACKEN) //
.hasPassed(UserTasks.PAKET_PRUEFEN) //
.hasPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasPassed(Gateways.GATEWAY_AUSPACKEN) //
.hasPassed(ManualTasks.WARE_AUSPACKEN_LUXUS) //
.hasPassed(Gateways.GATEWAY_14EVKAP) //
.hasPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasPassed(UserTasks.PAKET_PACKEN) //
.hasPassed(UserTasks.PAKET_PRUEFEN) //
.hasPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasPassed(UserTasks.PAKET_SENDEN) //
.hasPassed(Gateways.GATEWAY_NEUSENDUNG_CLOSED) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG_CLOSED) //
.hasPassed(Events.RETOURE_ENDE) //
.hasNotPassed(ServiceTasks.FINANZDATEN_ERMITTELN) //
.hasNotPassed(ServiceTasks.ERSTATTUNG) //
.hasNotPassed(ManualTasks.NEW_TASK_2) //
.hasNotPassed(ManualTasks.NEW_FLOW_2) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_NORMAL) //
.hasNotPassed(UserTasks.WARENDATEN_ERFASSEN) //
.hasNotPassed(BusinessRuleTasks.VERNICHTUNG_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG) //
.hasNotPassed(UserTasks.WARE_VERNICHTEN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG_CLOSE) //
.hasNotPassed(UserTasks.WARE_SPENDEN) //
.isEnded() //
.variables() //
.contains(entry(VAR_KUNDENNUMMER, "C-123A456"), entry(VAR_VORNAME, "Max"), entry(VAR_ERSTATTUNG, false), entry(VAR_NACHNAME, "Mustermann"), entry(VAR_BESCHAEDIGT, false)); //
}
@Test
@Deployment(resources = {"retoure.bpmn", "\\schuh_vernichtung_spende.dmn"})
public void vernichtenErstattung() {
ProcessInstance processInstance = runtimeService() //
.startProcessInstanceByKey("Retoure", withVariables(VAR_BESCHAEDIGT, true, VAR_ERSTATTUNG, true, VAR_KUNDENNUMMER, "C-123A456")); //
assertThat(processInstance) //
.isStarted() //
.hasPassed(Events.RETOURE_START) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT) //
.hasNotPassed(UserTasks.WARENDATEN_ERFASSEN) //
.hasNotPassed(BusinessRuleTasks.VERNICHTUNG_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG) //
.hasNotPassed(UserTasks.WARE_VERNICHTEN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG_CLOSE) //
.hasNotPassed(Gateways.GATEWAY_BESCHAEDIGT_CLOSE) //
.hasNotPassed(ServiceTasks.KUNDENDATEN_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_NEUSENDUNG) //
.hasNotPassed(ServiceTasks.FINANZDATEN_ERMITTELN) //
.hasNotPassed(ServiceTasks.ERSTATTUNG) //
.hasNotPassed(ManualTasks.NEW_TASK_2) //
.hasNotPassed(ManualTasks.NEW_FLOW_2) //
.hasNotPassed(Gateways.GATEWAY_NEUSENDUNG_CLOSED) //
.hasNotPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG_CLOSED) //
.hasNotPassed(Events.RETOURE_ENDE) //
.hasNotPassed(ManualTasks.WARE_EINSORTIEREN) //
.hasNotPassed(ManualTasks.NEW_TASK_1) //
.hasNotPassed(UserTasks.MANUELLE_PRUEFUNG) //
.hasNotPassed(ServiceTasks.WARENNUMMER_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasNotPassed(UserTasks.PAKET_PACKEN) //
.hasNotPassed(UserTasks.PAKET_PRUEFEN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasNotPassed(UserTasks.PAKET_SENDEN) //
.hasNotPassed(Gateways.GATEWAY_AUSPACKEN) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_NORMAL) //
.hasNotPassed(Gateways.GATEWAY_14EVKAP) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_LUXUS) //
.hasNotPassed(UserTasks.WARE_SPENDEN) //
.isNotEnded(); //
complete(task(UserTasks.WARENDATEN_ERFASSEN), withVariables(VAR_MARKE, "Luxury Foot", VAR_PREIS, 350));
assertThat(processInstance) //
.hasPassed(Events.RETOURE_START) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT) //
.hasPassed(UserTasks.WARENDATEN_ERFASSEN) //
.hasPassed(BusinessRuleTasks.VERNICHTUNG_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_VERNICHTUNG) //
.hasNotPassed(UserTasks.WARE_VERNICHTEN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG_CLOSE) //
.hasNotPassed(Gateways.GATEWAY_BESCHAEDIGT_CLOSE) //
.hasNotPassed(ServiceTasks.KUNDENDATEN_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_NEUSENDUNG) //
.hasNotPassed(ServiceTasks.FINANZDATEN_ERMITTELN) //
.hasNotPassed(ServiceTasks.ERSTATTUNG) //
.hasNotPassed(ManualTasks.NEW_TASK_2) //
.hasNotPassed(ManualTasks.NEW_FLOW_2) //
.hasNotPassed(Gateways.GATEWAY_NEUSENDUNG_CLOSED) //
.hasNotPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG_CLOSED) //
.hasNotPassed(Events.RETOURE_ENDE) //
.hasNotPassed(ManualTasks.WARE_EINSORTIEREN) //
.hasNotPassed(ManualTasks.NEW_TASK_1) //
.hasNotPassed(UserTasks.MANUELLE_PRUEFUNG) //
.hasNotPassed(ServiceTasks.WARENNUMMER_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasNotPassed(UserTasks.PAKET_PACKEN) //
.hasNotPassed(UserTasks.PAKET_PRUEFEN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasNotPassed(UserTasks.PAKET_SENDEN) //
.hasNotPassed(Gateways.GATEWAY_AUSPACKEN) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_NORMAL) //
.hasNotPassed(Gateways.GATEWAY_14EVKAP) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_LUXUS) //
.hasNotPassed(UserTasks.WARE_SPENDEN) //
.isNotEnded(); //
complete(task(UserTasks.WARE_VERNICHTEN));
assertThat(processInstance) //
.hasPassed(Events.RETOURE_START) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT) //
.hasPassed(UserTasks.WARENDATEN_ERFASSEN) //
.hasPassed(BusinessRuleTasks.VERNICHTUNG_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_VERNICHTUNG) //
.hasPassed(UserTasks.WARE_VERNICHTEN) //
.hasPassed(Gateways.GATEWAY_VERNICHTUNG_CLOSE) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT_CLOSE) //
.hasNotPassed(ServiceTasks.KUNDENDATEN_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_NEUSENDUNG) //
.hasNotPassed(ServiceTasks.FINANZDATEN_ERMITTELN) //
.hasNotPassed(ServiceTasks.ERSTATTUNG) //
.hasNotPassed(ManualTasks.NEW_TASK_2) //
.hasNotPassed(ManualTasks.NEW_FLOW_2) //
.hasNotPassed(Gateways.GATEWAY_NEUSENDUNG_CLOSED) //
.hasNotPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG_CLOSED) //
.hasNotPassed(Events.RETOURE_ENDE) //
.hasNotPassed(ManualTasks.WARE_EINSORTIEREN) //
.hasNotPassed(ManualTasks.NEW_TASK_1) //
.hasNotPassed(UserTasks.MANUELLE_PRUEFUNG) //
.hasNotPassed(ServiceTasks.WARENNUMMER_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasNotPassed(UserTasks.PAKET_PACKEN) //
.hasNotPassed(UserTasks.PAKET_PRUEFEN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasNotPassed(UserTasks.PAKET_SENDEN) //
.hasNotPassed(Gateways.GATEWAY_AUSPACKEN) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_NORMAL) //
.hasNotPassed(Gateways.GATEWAY_14EVKAP) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_LUXUS) //
.hasNotPassed(UserTasks.WARE_SPENDEN) //
.isNotEnded(); //
Map<String, Object> variableSnapshot0 = runtimeService() //
.getVariables(processInstance.getId()); //
List<LockedExternalTask> lockedTasks0 = lockTasks("customer");
complete(getLockedTask(lockedTasks0, ServiceTasks.KUNDENDATEN_ERMITTELN), ExternalServiceMockProvider.customerProvider(variableSnapshot0));
assertThat(processInstance) //
.hasPassed(Events.RETOURE_START) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT) //
.hasPassed(UserTasks.WARENDATEN_ERFASSEN) //
.hasPassed(BusinessRuleTasks.VERNICHTUNG_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_VERNICHTUNG) //
.hasPassed(UserTasks.WARE_VERNICHTEN) //
.hasPassed(Gateways.GATEWAY_VERNICHTUNG_CLOSE) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT_CLOSE) //
.hasPassed(ServiceTasks.KUNDENDATEN_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_NEUSENDUNG) //
.hasNotPassed(ServiceTasks.FINANZDATEN_ERMITTELN) //
.hasNotPassed(ServiceTasks.ERSTATTUNG) //
.hasNotPassed(ManualTasks.NEW_TASK_2) //
.hasNotPassed(ManualTasks.NEW_FLOW_2) //
.hasNotPassed(Gateways.GATEWAY_NEUSENDUNG_CLOSED) //
.hasNotPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG_CLOSED) //
.hasNotPassed(Events.RETOURE_ENDE) //
.hasNotPassed(ManualTasks.WARE_EINSORTIEREN) //
.hasNotPassed(ManualTasks.NEW_TASK_1) //
.hasNotPassed(UserTasks.MANUELLE_PRUEFUNG) //
.hasNotPassed(ServiceTasks.WARENNUMMER_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasNotPassed(UserTasks.PAKET_PACKEN) //
.hasNotPassed(UserTasks.PAKET_PRUEFEN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasNotPassed(UserTasks.PAKET_SENDEN) //
.hasNotPassed(Gateways.GATEWAY_AUSPACKEN) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_NORMAL) //
.hasNotPassed(Gateways.GATEWAY_14EVKAP) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_LUXUS) //
.hasNotPassed(UserTasks.WARE_SPENDEN) //
.isNotEnded(); //
Map<String, Object> variableSnapshot1 = runtimeService() //
.getVariables(processInstance.getId()); //
variableSnapshot1.put(VAR_SERVICEIDENTIFIER, "getData");
List<LockedExternalTask> lockedTasks1 = lockTasks(lockedTasks0, "financial");
complete(getLockedTask(lockedTasks1, ServiceTasks.FINANZDATEN_ERMITTELN), ExternalServiceMockProvider.financialMock(variableSnapshot1));
assertThat(processInstance) //
.hasPassed(Events.RETOURE_START) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT) //
.hasPassed(UserTasks.WARENDATEN_ERFASSEN) //
.hasPassed(BusinessRuleTasks.VERNICHTUNG_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_VERNICHTUNG) //
.hasPassed(UserTasks.WARE_VERNICHTEN) //
.hasPassed(Gateways.GATEWAY_VERNICHTUNG_CLOSE) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT_CLOSE) //
.hasPassed(ServiceTasks.KUNDENDATEN_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_NEUSENDUNG) //
.hasPassed(ServiceTasks.FINANZDATEN_ERMITTELN) //
.hasNotPassed(ServiceTasks.ERSTATTUNG) //
.hasNotPassed(ManualTasks.NEW_TASK_2) //
.hasNotPassed(ManualTasks.NEW_FLOW_2) //
.hasNotPassed(Gateways.GATEWAY_NEUSENDUNG_CLOSED) //
.hasNotPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG_CLOSED) //
.hasNotPassed(Events.RETOURE_ENDE) //
.hasNotPassed(ManualTasks.WARE_EINSORTIEREN) //
.hasNotPassed(ManualTasks.NEW_TASK_1) //
.hasNotPassed(UserTasks.MANUELLE_PRUEFUNG) //
.hasNotPassed(ServiceTasks.WARENNUMMER_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasNotPassed(UserTasks.PAKET_PACKEN) //
.hasNotPassed(UserTasks.PAKET_PRUEFEN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasNotPassed(UserTasks.PAKET_SENDEN) //
.hasNotPassed(Gateways.GATEWAY_AUSPACKEN) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_NORMAL) //
.hasNotPassed(Gateways.GATEWAY_14EVKAP) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_LUXUS) //
.hasNotPassed(UserTasks.WARE_SPENDEN) //
.isNotEnded(); //
Map<String, Object> variableSnapshot2 = runtimeService() //
.getVariables(processInstance.getId()); //
variableSnapshot2.put(VAR_SERVICEIDENTIFIER, "refund");
List<LockedExternalTask> lockedTasks2 = lockTasks(lockedTasks1, "financial");
complete(getLockedTask(lockedTasks2, ServiceTasks.ERSTATTUNG), ExternalServiceMockProvider.financialMock(variableSnapshot2));
assertThat(processInstance) //
.hasPassed(Events.RETOURE_START) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT) //
.hasPassed(UserTasks.WARENDATEN_ERFASSEN) //
.hasPassed(BusinessRuleTasks.VERNICHTUNG_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_VERNICHTUNG) //
.hasPassed(UserTasks.WARE_VERNICHTEN) //
.hasPassed(Gateways.GATEWAY_VERNICHTUNG_CLOSE) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT_CLOSE) //
.hasPassed(ServiceTasks.KUNDENDATEN_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_NEUSENDUNG) //
.hasPassed(ServiceTasks.FINANZDATEN_ERMITTELN) //
.hasPassed(ServiceTasks.ERSTATTUNG) //
.hasPassed(ManualTasks.NEW_TASK_2) //
.hasPassed(ManualTasks.NEW_FLOW_2) //
.hasPassed(Gateways.GATEWAY_NEUSENDUNG_CLOSED) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG_CLOSED) //
.hasPassed(Events.RETOURE_ENDE) //
.hasNotPassed(ManualTasks.WARE_EINSORTIEREN) //
.hasNotPassed(ManualTasks.NEW_TASK_1) //
.hasNotPassed(UserTasks.MANUELLE_PRUEFUNG) //
.hasNotPassed(ServiceTasks.WARENNUMMER_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasNotPassed(UserTasks.PAKET_PACKEN) //
.hasNotPassed(UserTasks.PAKET_PRUEFEN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasNotPassed(UserTasks.PAKET_SENDEN) //
.hasNotPassed(Gateways.GATEWAY_AUSPACKEN) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_NORMAL) //
.hasNotPassed(Gateways.GATEWAY_14EVKAP) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_LUXUS) //
.hasNotPassed(UserTasks.WARE_SPENDEN) //
.isEnded() //
.variables() //
.contains(entry(VAR_KUNDENNUMMER, "C-123A456"), entry(VAR_EMAILGESENDET, "Nein"), entry(VAR_MARKE, "Luxury Foot"), entry(VAR_IBAN, "DE12345678900000123456"), entry(VAR_VORNAME, "Max"), entry(VAR_ERSTATTUNG, true), entry(VAR_NACHNAME, "Mustermann"), entry(VAR_BESCHAEDIGT, true)); //
}
@Test
@Deployment(resources = {"retoure.bpmn", "\\schuh_vernichtung_spende.dmn"})
public void casetill1() {
assertThat(processInstance) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT) //
.hasPassed(ManualTasks.WARE_EINSORTIEREN) //
.hasPassed(ManualTasks.NEW_TASK_1) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT_CLOSE) //
.hasNotPassed(ServiceTasks.KUNDENDATEN_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_NEUSENDUNG) //
.hasNotPassed(UserTasks.MANUELLE_PRUEFUNG) //
.hasNotPassed(ServiceTasks.WARENNUMMER_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasNotPassed(UserTasks.PAKET_PACKEN) //
.hasNotPassed(UserTasks.PAKET_PRUEFEN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasNotPassed(UserTasks.PAKET_SENDEN) //
.hasNotPassed(Gateways.GATEWAY_NEUSENDUNG_CLOSED) //
.hasNotPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG_CLOSED) //
.hasNotPassed(Events.RETOURE_ENDE) //
.hasNotPassed(ServiceTasks.FINANZDATEN_ERMITTELN) //
.hasNotPassed(ServiceTasks.ERSTATTUNG) //
.hasNotPassed(ManualTasks.NEW_TASK_2) //
.hasNotPassed(ManualTasks.NEW_FLOW_2) //
.hasNotPassed(Gateways.GATEWAY_AUSPACKEN) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_NORMAL) //
.hasNotPassed(Gateways.GATEWAY_14EVKAP) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_LUXUS) //
.hasNotPassed(UserTasks.WARENDATEN_ERFASSEN) //
.hasNotPassed(BusinessRuleTasks.VERNICHTUNG_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG) //
.hasNotPassed(UserTasks.WARE_VERNICHTEN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG_CLOSE) //
.hasNotPassed(UserTasks.WARE_SPENDEN) //
.isNotEnded(); //
Map<String, Object> variableSnapshot0 = runtimeService() //
.getVariables(processInstance.getId()); //
List<LockedExternalTask> lockedTasks0 = lockTasks("customer");
complete(getLockedTask(lockedTasks0, ServiceTasks.KUNDENDATEN_ERMITTELN), ExternalServiceMockProvider.customerProvider(variableSnapshot0));
assertThat(processInstance) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT) //
.hasPassed(ManualTasks.WARE_EINSORTIEREN) //
.hasPassed(ManualTasks.NEW_TASK_1) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT_CLOSE) //
.hasPassed(ServiceTasks.KUNDENDATEN_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_NEUSENDUNG) //
.hasNotPassed(UserTasks.MANUELLE_PRUEFUNG) //
.hasNotPassed(ServiceTasks.WARENNUMMER_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasNotPassed(UserTasks.PAKET_PACKEN) //
.hasNotPassed(UserTasks.PAKET_PRUEFEN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasNotPassed(UserTasks.PAKET_SENDEN) //
.hasNotPassed(Gateways.GATEWAY_NEUSENDUNG_CLOSED) //
.hasNotPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG_CLOSED) //
.hasNotPassed(Events.RETOURE_ENDE) //
.hasNotPassed(ServiceTasks.FINANZDATEN_ERMITTELN) //
.hasNotPassed(ServiceTasks.ERSTATTUNG) //
.hasNotPassed(ManualTasks.NEW_TASK_2) //
.hasNotPassed(ManualTasks.NEW_FLOW_2) //
.hasNotPassed(Gateways.GATEWAY_AUSPACKEN) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_NORMAL) //
.hasNotPassed(Gateways.GATEWAY_14EVKAP) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_LUXUS) //
.hasNotPassed(UserTasks.WARENDATEN_ERFASSEN) //
.hasNotPassed(BusinessRuleTasks.VERNICHTUNG_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG) //
.hasNotPassed(UserTasks.WARE_VERNICHTEN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG_CLOSE) //
.hasNotPassed(UserTasks.WARE_SPENDEN) //
.isNotEnded(); //
complete(task(UserTasks.MANUELLE_PRUEFUNG));
assertThat(processInstance) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT) //
.hasPassed(ManualTasks.WARE_EINSORTIEREN) //
.hasPassed(ManualTasks.NEW_TASK_1) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT_CLOSE) //
.hasPassed(ServiceTasks.KUNDENDATEN_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_NEUSENDUNG) //
.hasPassed(UserTasks.MANUELLE_PRUEFUNG) //
.hasPassed(ServiceTasks.WARENNUMMER_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasNotPassed(UserTasks.PAKET_PACKEN) //
.hasNotPassed(UserTasks.PAKET_PRUEFEN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasNotPassed(UserTasks.PAKET_SENDEN) //
.hasNotPassed(Gateways.GATEWAY_NEUSENDUNG_CLOSED) //
.hasNotPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG_CLOSED) //
.hasNotPassed(Events.RETOURE_ENDE) //
.hasNotPassed(ServiceTasks.FINANZDATEN_ERMITTELN) //
.hasNotPassed(ServiceTasks.ERSTATTUNG) //
.hasNotPassed(ManualTasks.NEW_TASK_2) //
.hasNotPassed(ManualTasks.NEW_FLOW_2) //
.hasNotPassed(Gateways.GATEWAY_AUSPACKEN) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_NORMAL) //
.hasNotPassed(Gateways.GATEWAY_14EVKAP) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_LUXUS) //
.hasNotPassed(UserTasks.WARENDATEN_ERFASSEN) //
.hasNotPassed(BusinessRuleTasks.VERNICHTUNG_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG) //
.hasNotPassed(UserTasks.WARE_VERNICHTEN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG_CLOSE) //
.hasNotPassed(UserTasks.WARE_SPENDEN) //
.isNotEnded(); //
complete(task(UserTasks.PAKET_PACKEN));
assertThat(processInstance) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT) //
.hasPassed(ManualTasks.WARE_EINSORTIEREN) //
.hasPassed(ManualTasks.NEW_TASK_1) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT_CLOSE) //
.hasPassed(ServiceTasks.KUNDENDATEN_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_NEUSENDUNG) //
.hasPassed(UserTasks.MANUELLE_PRUEFUNG) //
.hasPassed(ServiceTasks.WARENNUMMER_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasPassed(UserTasks.PAKET_PACKEN) //
.hasNotPassed(UserTasks.PAKET_PRUEFEN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasNotPassed(UserTasks.PAKET_SENDEN) //
.hasNotPassed(Gateways.GATEWAY_NEUSENDUNG_CLOSED) //
.hasNotPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG_CLOSED) //
.hasNotPassed(Events.RETOURE_ENDE) //
.hasNotPassed(ServiceTasks.FINANZDATEN_ERMITTELN) //
.hasNotPassed(ServiceTasks.ERSTATTUNG) //
.hasNotPassed(ManualTasks.NEW_TASK_2) //
.hasNotPassed(ManualTasks.NEW_FLOW_2) //
.hasNotPassed(Gateways.GATEWAY_AUSPACKEN) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_NORMAL) //
.hasNotPassed(Gateways.GATEWAY_14EVKAP) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_LUXUS) //
.hasNotPassed(UserTasks.WARENDATEN_ERFASSEN) //
.hasNotPassed(BusinessRuleTasks.VERNICHTUNG_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG) //
.hasNotPassed(UserTasks.WARE_VERNICHTEN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG_CLOSE) //
.hasNotPassed(UserTasks.WARE_SPENDEN) //
.isNotEnded(); //
complete(task(UserTasks.PAKET_PRUEFEN));
assertThat(processInstance) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT) //
.hasPassed(ManualTasks.WARE_EINSORTIEREN) //
.hasPassed(ManualTasks.NEW_TASK_1) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT_CLOSE) //
.hasPassed(ServiceTasks.KUNDENDATEN_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_NEUSENDUNG) //
.hasPassed(UserTasks.MANUELLE_PRUEFUNG) //
.hasPassed(ServiceTasks.WARENNUMMER_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasPassed(UserTasks.PAKET_PACKEN) //
.hasPassed(UserTasks.PAKET_PRUEFEN) //
.hasPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasNotPassed(UserTasks.PAKET_SENDEN) //
.hasNotPassed(Gateways.GATEWAY_NEUSENDUNG_CLOSED) //
.hasNotPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG_CLOSED) //
.hasNotPassed(Events.RETOURE_ENDE) //
.hasNotPassed(ServiceTasks.FINANZDATEN_ERMITTELN) //
.hasNotPassed(ServiceTasks.ERSTATTUNG) //
.hasNotPassed(ManualTasks.NEW_TASK_2) //
.hasNotPassed(ManualTasks.NEW_FLOW_2) //
.hasNotPassed(Gateways.GATEWAY_AUSPACKEN) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_NORMAL) //
.hasNotPassed(Gateways.GATEWAY_14EVKAP) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_LUXUS) //
.hasNotPassed(UserTasks.WARENDATEN_ERFASSEN) //
.hasNotPassed(BusinessRuleTasks.VERNICHTUNG_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG) //
.hasNotPassed(UserTasks.WARE_VERNICHTEN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG_CLOSE) //
.hasNotPassed(UserTasks.WARE_SPENDEN) //
.isNotEnded(); //
complete(task(UserTasks.PAKET_SENDEN));
assertThat(processInstance) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT) //
.hasPassed(ManualTasks.WARE_EINSORTIEREN) //
.hasPassed(ManualTasks.NEW_TASK_1) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT_CLOSE) //
.hasPassed(ServiceTasks.KUNDENDATEN_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_NEUSENDUNG) //
.hasPassed(UserTasks.MANUELLE_PRUEFUNG) //
.hasPassed(ServiceTasks.WARENNUMMER_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasPassed(UserTasks.PAKET_PACKEN) //
.hasPassed(UserTasks.PAKET_PRUEFEN) //
.hasPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasPassed(UserTasks.PAKET_SENDEN) //
.hasPassed(Gateways.GATEWAY_NEUSENDUNG_CLOSED) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG_CLOSED) //
.hasPassed(Events.RETOURE_ENDE) //
.hasNotPassed(ServiceTasks.FINANZDATEN_ERMITTELN) //
.hasNotPassed(ServiceTasks.ERSTATTUNG) //
.hasNotPassed(ManualTasks.NEW_TASK_2) //
.hasNotPassed(ManualTasks.NEW_FLOW_2) //
.hasNotPassed(Gateways.GATEWAY_AUSPACKEN) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_NORMAL) //
.hasNotPassed(Gateways.GATEWAY_14EVKAP) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_LUXUS) //
.hasNotPassed(UserTasks.WARENDATEN_ERFASSEN) //
.hasNotPassed(BusinessRuleTasks.VERNICHTUNG_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG) //
.hasNotPassed(UserTasks.WARE_VERNICHTEN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG_CLOSE) //
.hasNotPassed(UserTasks.WARE_SPENDEN) //
.isEnded() //
.variables() //
.contains(entry(VAR_IBANREFUND, "DE80123084556"), entry(VAR_FIRSTNAME, "Till"), entry(VAR_VORNAME, "till"), entry(VAR_LASTNAME, "Brinkhus"), entry(VAR_SERVICEIDENTIFIER, "getData"), entry(VAR_BESCHAEDIGT, false), entry(VAR_KUNDENNUMMER, "123"), entry(VAR_EMAILGESENDET, "Ja"), entry(VAR_PREIS, 1234), entry(VAR_MARKE, "wer"), entry(VAR_IBAN, "DE80123084556"), entry(VAR_ERSTATTUNG, true), entry(VAR_CONFIRMATIONEMAILSENT, "Ja"), entry(VAR_NACHNAME, "Brinkhus"), entry(VAR_PAKETTYP, "Normalverpackung"), entry(VAR_PAKET, true)); //
}
}
...@@ -2,9 +2,5 @@ package de.sample.onlineschuhdemo; ...@@ -2,9 +2,5 @@ package de.sample.onlineschuhdemo;
public class ServiceTasks { public class ServiceTasks {
public static final String WARENNUMMER_ERMITTELN = "Warennummer_ermitteln";
public static final String KUNDENDATEN_ERMITTELN = "Kundendaten_ermitteln";
public static final String FINANZDATEN_ERMITTELN = "Finanzdaten_ermitteln";
public static final String ERSTATTUNG = "Erstattung";
} }
package de.sample.onlineschuhdemo;
import static org.camunda.bpm.engine.test.assertions.ProcessEngineTests.*;
import static org.camunda.bpm.engine.test.assertions.bpmn.BpmnAwareTests.complete;
import static org.camunda.bpm.engine.test.assertions.bpmn.BpmnAwareTests.runtimeService;
import static org.camunda.bpm.engine.test.assertions.bpmn.BpmnAwareTests.task;
import static org.camunda.bpm.engine.test.assertions.bpmn.BpmnAwareTests.withVariables;
import static org.assertj.core.api.Assertions.entry;
import static de.sample.onlineschuhdemo.TestUtils.*;
import org.apache.ibatis.logging.LogFactory;
import org.camunda.bpm.engine.runtime.ProcessInstance;
import org.camunda.bpm.engine.test.Deployment;
import org.camunda.bpm.engine.test.ProcessEngineRule;
import org.camunda.bpm.engine.externaltask.LockedExternalTask;
import org.camunda.bpm.engine.test.mock.Mocks;
import de.sample.onlineschuhdemo.externalaccess.LagerService;
import de.sample.onlineschuhdemo.externalaccess.WarennummerErmittelnDelegate;
import org.camunda.bpm.extension.process_test_coverage.junit.rules.TestCoverageProcessEngineRuleBuilder;
import org.junit.Before;
import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
import java.util.List;
import java.util.Map;
public class Testcollection-old {
@ClassRule
@Rule
public static ProcessEngineRule rule = TestCoverageProcessEngineRuleBuilder.create().build();
private static final String VAR_KUNDENNUMMER = "kundennummer";
private static final String VAR_MARKE = "marke";
private static final String VAR_IBAN = "iban";
private static final String VAR_VORNAME = "vorname";
private static final String VAR_NACHNAME = "nachname";
private static final String VAR_PAKETTYP = "pakettyp";
private static final String VAR_EMAILGESENDET = "emailGesendet";
private static final String VAR_FIRSTNAME = "firstname";
private static final String VAR_LASTNAME = "lastname";
private static final String VAR_IBANREFUND = "ibanRefund";
private static final String VAR_CONFIRMATIONEMAILSENT = "confirmationEmailSent";
private static final String VAR_SERVICEIDENTIFIER = "serviceIdentifier";
private static final String VAR_PREIS = "preis";
private static final String VAR_ERSTATTUNG = "erstattung";
private static final String VAR_PAKET = "paket";
private static final String VAR_BESCHAEDIGT = "beschaedigt";
static {
LogFactory.useSlf4jLogging();
}
@Before
public void setup() {
init(rule.getProcessEngine());
LagerService lagerService = new LagerService();
WarennummerErmittelnDelegate warennummerErmittelnDelegate = new WarennummerErmittelnDelegate();
warennummerErmittelnDelegate.setLagerService(lagerService);
Mocks.register("warennummer", warennummerErmittelnDelegate);
}
@Test
@Deployment(resources = {"retoure.bpmn", "\\schuh_vernichtung_spende.dmn"})
public void normalverpackungAuspacken() {
ProcessInstance processInstance = runtimeService() //
.startProcessInstanceByKey("Retoure", withVariables(VAR_BESCHAEDIGT, false, VAR_ERSTATTUNG, false, VAR_KUNDENNUMMER, "C-123A456")); //
assertThat(processInstance) //
.isStarted() //
.hasPassed(Events.RETOURE_START) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT) //
.hasPassed(ManualTasks.WARE_EINSORTIEREN) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT_CLOSE) //
.hasNotPassed(ServiceTasks.KUNDENDATEN_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_NEUSENDUNG) //
.hasNotPassed(UserTasks.MANUELLE_PRUEFUNG) //
.hasNotPassed(ServiceTasks.WARENNUMMER_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasNotPassed(UserTasks.PAKET_PACKEN) //
.hasNotPassed(UserTasks.PAKET_PRUEFEN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasNotPassed(Gateways.GATEWAY_AUSPACKEN) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_NORMAL) //
.hasNotPassed(Gateways.GATEWAY_14EVKAP) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasNotPassed(UserTasks.PAKET_PACKEN) //
.hasNotPassed(UserTasks.PAKET_PRUEFEN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasNotPassed(UserTasks.PAKET_SENDEN) //
.hasNotPassed(Gateways.GATEWAY_NEUSENDUNG_CLOSED) //
.hasNotPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG_CLOSED) //
.hasNotPassed(Events.RETOURE_ENDE) //
.hasNotPassed(ServiceTasks.FINANZDATEN_ERMITTELN) //
.hasNotPassed(ServiceTasks.ERSTATTUNG) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_LUXUS) //
.hasNotPassed(UserTasks.WARENDATEN_ERFASSEN) //
.hasNotPassed(BusinessRuleTasks.VERNICHTUNG_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG) //
.hasNotPassed(UserTasks.WARE_VERNICHTEN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG_CLOSE) //
.hasNotPassed(UserTasks.WARE_SPENDEN) //
.isNotEnded(); //
Map<String, Object> variableSnapshot0 = runtimeService() //
.getVariables(processInstance.getId()); //
List<LockedExternalTask> lockedTasks0 = lockTasks("customer");
complete(getLockedTask(lockedTasks0, ServiceTasks.KUNDENDATEN_ERMITTELN), ExternalServiceMockProvider.customerProvider(variableSnapshot0));
assertThat(processInstance) //
.hasPassed(Events.RETOURE_START) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT) //
.hasPassed(ManualTasks.WARE_EINSORTIEREN) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT_CLOSE) //
.hasPassed(ServiceTasks.KUNDENDATEN_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_NEUSENDUNG) //
.hasNotPassed(UserTasks.MANUELLE_PRUEFUNG) //
.hasNotPassed(ServiceTasks.WARENNUMMER_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasNotPassed(UserTasks.PAKET_PACKEN) //
.hasNotPassed(UserTasks.PAKET_PRUEFEN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasNotPassed(Gateways.GATEWAY_AUSPACKEN) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_NORMAL) //
.hasNotPassed(Gateways.GATEWAY_14EVKAP) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasNotPassed(UserTasks.PAKET_PACKEN) //
.hasNotPassed(UserTasks.PAKET_PRUEFEN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasNotPassed(UserTasks.PAKET_SENDEN) //
.hasNotPassed(Gateways.GATEWAY_NEUSENDUNG_CLOSED) //
.hasNotPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG_CLOSED) //
.hasNotPassed(Events.RETOURE_ENDE) //
.hasNotPassed(ServiceTasks.FINANZDATEN_ERMITTELN) //
.hasNotPassed(ServiceTasks.ERSTATTUNG) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_LUXUS) //
.hasNotPassed(UserTasks.WARENDATEN_ERFASSEN) //
.hasNotPassed(BusinessRuleTasks.VERNICHTUNG_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG) //
.hasNotPassed(UserTasks.WARE_VERNICHTEN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG_CLOSE) //
.hasNotPassed(UserTasks.WARE_SPENDEN) //
.isNotEnded(); //
complete(task(UserTasks.MANUELLE_PRUEFUNG));
assertThat(processInstance) //
.hasPassed(Events.RETOURE_START) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT) //
.hasPassed(ManualTasks.WARE_EINSORTIEREN) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT_CLOSE) //
.hasPassed(ServiceTasks.KUNDENDATEN_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_NEUSENDUNG) //
.hasPassed(UserTasks.MANUELLE_PRUEFUNG) //
.hasPassed(ServiceTasks.WARENNUMMER_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasNotPassed(UserTasks.PAKET_PACKEN) //
.hasNotPassed(UserTasks.PAKET_PRUEFEN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasNotPassed(Gateways.GATEWAY_AUSPACKEN) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_NORMAL) //
.hasNotPassed(Gateways.GATEWAY_14EVKAP) //
.hasPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasNotPassed(UserTasks.PAKET_PACKEN) //
.hasNotPassed(UserTasks.PAKET_PRUEFEN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasNotPassed(UserTasks.PAKET_SENDEN) //
.hasNotPassed(Gateways.GATEWAY_NEUSENDUNG_CLOSED) //
.hasNotPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG_CLOSED) //
.hasNotPassed(Events.RETOURE_ENDE) //
.hasNotPassed(ServiceTasks.FINANZDATEN_ERMITTELN) //
.hasNotPassed(ServiceTasks.ERSTATTUNG) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_LUXUS) //
.hasNotPassed(UserTasks.WARENDATEN_ERFASSEN) //
.hasNotPassed(BusinessRuleTasks.VERNICHTUNG_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG) //
.hasNotPassed(UserTasks.WARE_VERNICHTEN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG_CLOSE) //
.hasNotPassed(UserTasks.WARE_SPENDEN) //
.isNotEnded(); //
complete(task(UserTasks.PAKET_PACKEN), withVariables(VAR_PAKETTYP, "Normalverpackung"));
assertThat(processInstance) //
.hasPassed(Events.RETOURE_START) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT) //
.hasPassed(ManualTasks.WARE_EINSORTIEREN) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT_CLOSE) //
.hasPassed(ServiceTasks.KUNDENDATEN_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_NEUSENDUNG) //
.hasPassed(UserTasks.MANUELLE_PRUEFUNG) //
.hasPassed(ServiceTasks.WARENNUMMER_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasPassed(UserTasks.PAKET_PACKEN) //
.hasNotPassed(UserTasks.PAKET_PRUEFEN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasNotPassed(Gateways.GATEWAY_AUSPACKEN) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_NORMAL) //
.hasNotPassed(Gateways.GATEWAY_14EVKAP) //
.hasPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasPassed(UserTasks.PAKET_PACKEN) //
.hasNotPassed(UserTasks.PAKET_PRUEFEN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasNotPassed(UserTasks.PAKET_SENDEN) //
.hasNotPassed(Gateways.GATEWAY_NEUSENDUNG_CLOSED) //
.hasNotPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG_CLOSED) //
.hasNotPassed(Events.RETOURE_ENDE) //
.hasNotPassed(ServiceTasks.FINANZDATEN_ERMITTELN) //
.hasNotPassed(ServiceTasks.ERSTATTUNG) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_LUXUS) //
.hasNotPassed(UserTasks.WARENDATEN_ERFASSEN) //
.hasNotPassed(BusinessRuleTasks.VERNICHTUNG_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG) //
.hasNotPassed(UserTasks.WARE_VERNICHTEN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG_CLOSE) //
.hasNotPassed(UserTasks.WARE_SPENDEN) //
.isNotEnded(); //
complete(task(UserTasks.PAKET_PRUEFEN), withVariables(VAR_PAKET, false));
assertThat(processInstance) //
.hasPassed(Events.RETOURE_START) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT) //
.hasPassed(ManualTasks.WARE_EINSORTIEREN) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT_CLOSE) //
.hasPassed(ServiceTasks.KUNDENDATEN_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_NEUSENDUNG) //
.hasPassed(UserTasks.MANUELLE_PRUEFUNG) //
.hasPassed(ServiceTasks.WARENNUMMER_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasPassed(UserTasks.PAKET_PACKEN) //
.hasPassed(UserTasks.PAKET_PRUEFEN) //
.hasPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasPassed(Gateways.GATEWAY_AUSPACKEN) //
.hasPassed(ManualTasks.WARE_AUSPACKEN_NORMAL) //
.hasPassed(Gateways.GATEWAY_14EVKAP) //
.hasPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasPassed(UserTasks.PAKET_PACKEN) //
.hasPassed(UserTasks.PAKET_PRUEFEN) //
.hasPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasNotPassed(UserTasks.PAKET_SENDEN) //
.hasNotPassed(Gateways.GATEWAY_NEUSENDUNG_CLOSED) //
.hasNotPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG_CLOSED) //
.hasNotPassed(Events.RETOURE_ENDE) //
.hasNotPassed(ServiceTasks.FINANZDATEN_ERMITTELN) //
.hasNotPassed(ServiceTasks.ERSTATTUNG) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_LUXUS) //
.hasNotPassed(UserTasks.WARENDATEN_ERFASSEN) //
.hasNotPassed(BusinessRuleTasks.VERNICHTUNG_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG) //
.hasNotPassed(UserTasks.WARE_VERNICHTEN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG_CLOSE) //
.hasNotPassed(UserTasks.WARE_SPENDEN) //
.isNotEnded(); //
complete(task(UserTasks.PAKET_PACKEN), withVariables(VAR_PAKETTYP, "Luxusverpackung"));
assertThat(processInstance) //
.hasPassed(Events.RETOURE_START) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT) //
.hasPassed(ManualTasks.WARE_EINSORTIEREN) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT_CLOSE) //
.hasPassed(ServiceTasks.KUNDENDATEN_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_NEUSENDUNG) //
.hasPassed(UserTasks.MANUELLE_PRUEFUNG) //
.hasPassed(ServiceTasks.WARENNUMMER_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasPassed(UserTasks.PAKET_PACKEN) //
.hasPassed(UserTasks.PAKET_PRUEFEN) //
.hasPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasPassed(Gateways.GATEWAY_AUSPACKEN) //
.hasPassed(ManualTasks.WARE_AUSPACKEN_NORMAL) //
.hasPassed(Gateways.GATEWAY_14EVKAP) //
.hasPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasPassed(UserTasks.PAKET_PACKEN) //
.hasPassed(UserTasks.PAKET_PRUEFEN) //
.hasPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasNotPassed(UserTasks.PAKET_SENDEN) //
.hasNotPassed(Gateways.GATEWAY_NEUSENDUNG_CLOSED) //
.hasNotPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG_CLOSED) //
.hasNotPassed(Events.RETOURE_ENDE) //
.hasNotPassed(ServiceTasks.FINANZDATEN_ERMITTELN) //
.hasNotPassed(ServiceTasks.ERSTATTUNG) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_LUXUS) //
.hasNotPassed(UserTasks.WARENDATEN_ERFASSEN) //
.hasNotPassed(BusinessRuleTasks.VERNICHTUNG_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG) //
.hasNotPassed(UserTasks.WARE_VERNICHTEN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG_CLOSE) //
.hasNotPassed(UserTasks.WARE_SPENDEN) //
.isNotEnded(); //
complete(task(UserTasks.PAKET_PRUEFEN), withVariables(VAR_PAKET, true));
assertThat(processInstance) //
.hasPassed(Events.RETOURE_START) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT) //
.hasPassed(ManualTasks.WARE_EINSORTIEREN) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT_CLOSE) //
.hasPassed(ServiceTasks.KUNDENDATEN_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_NEUSENDUNG) //
.hasPassed(UserTasks.MANUELLE_PRUEFUNG) //
.hasPassed(ServiceTasks.WARENNUMMER_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasPassed(UserTasks.PAKET_PACKEN) //
.hasPassed(UserTasks.PAKET_PRUEFEN) //
.hasPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasPassed(Gateways.GATEWAY_AUSPACKEN) //
.hasPassed(ManualTasks.WARE_AUSPACKEN_NORMAL) //
.hasPassed(Gateways.GATEWAY_14EVKAP) //
.hasPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasPassed(UserTasks.PAKET_PACKEN) //
.hasPassed(UserTasks.PAKET_PRUEFEN) //
.hasPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasNotPassed(UserTasks.PAKET_SENDEN) //
.hasNotPassed(Gateways.GATEWAY_NEUSENDUNG_CLOSED) //
.hasNotPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG_CLOSED) //
.hasNotPassed(Events.RETOURE_ENDE) //
.hasNotPassed(ServiceTasks.FINANZDATEN_ERMITTELN) //
.hasNotPassed(ServiceTasks.ERSTATTUNG) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_LUXUS) //
.hasNotPassed(UserTasks.WARENDATEN_ERFASSEN) //
.hasNotPassed(BusinessRuleTasks.VERNICHTUNG_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG) //
.hasNotPassed(UserTasks.WARE_VERNICHTEN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG_CLOSE) //
.hasNotPassed(UserTasks.WARE_SPENDEN) //
.isNotEnded(); //
complete(task(UserTasks.PAKET_SENDEN));
assertThat(processInstance) //
.hasPassed(Events.RETOURE_START) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT) //
.hasPassed(ManualTasks.WARE_EINSORTIEREN) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT_CLOSE) //
.hasPassed(ServiceTasks.KUNDENDATEN_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_NEUSENDUNG) //
.hasPassed(UserTasks.MANUELLE_PRUEFUNG) //
.hasPassed(ServiceTasks.WARENNUMMER_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasPassed(UserTasks.PAKET_PACKEN) //
.hasPassed(UserTasks.PAKET_PRUEFEN) //
.hasPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasPassed(Gateways.GATEWAY_AUSPACKEN) //
.hasPassed(ManualTasks.WARE_AUSPACKEN_NORMAL) //
.hasPassed(Gateways.GATEWAY_14EVKAP) //
.hasPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasPassed(UserTasks.PAKET_PACKEN) //
.hasPassed(UserTasks.PAKET_PRUEFEN) //
.hasPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasPassed(UserTasks.PAKET_SENDEN) //
.hasPassed(Gateways.GATEWAY_NEUSENDUNG_CLOSED) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG_CLOSED) //
.hasPassed(Events.RETOURE_ENDE) //
.hasNotPassed(ServiceTasks.FINANZDATEN_ERMITTELN) //
.hasNotPassed(ServiceTasks.ERSTATTUNG) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_LUXUS) //
.hasNotPassed(UserTasks.WARENDATEN_ERFASSEN) //
.hasNotPassed(BusinessRuleTasks.VERNICHTUNG_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG) //
.hasNotPassed(UserTasks.WARE_VERNICHTEN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG_CLOSE) //
.hasNotPassed(UserTasks.WARE_SPENDEN) //
.isEnded() //
.variables() //
.contains(entry(VAR_KUNDENNUMMER, "C-123A456"), entry(VAR_VORNAME, "Max"), entry(VAR_ERSTATTUNG, false), entry(VAR_NACHNAME, "Mustermann"), entry(VAR_BESCHAEDIGT, false)); //
}
@Test
@Deployment(resources = {"retoure.bpmn", "\\schuh_vernichtung_spende.dmn"})
public void vernichtenErstattung() {
ProcessInstance processInstance = runtimeService() //
.startProcessInstanceByKey("Retoure", withVariables(VAR_BESCHAEDIGT, true, VAR_ERSTATTUNG, true, VAR_KUNDENNUMMER, "C-123A456")); //
assertThat(processInstance) //
.isStarted() //
.hasPassed(Events.RETOURE_START) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT) //
.hasNotPassed(UserTasks.WARENDATEN_ERFASSEN) //
.hasNotPassed(BusinessRuleTasks.VERNICHTUNG_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG) //
.hasNotPassed(UserTasks.WARE_VERNICHTEN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG_CLOSE) //
.hasNotPassed(Gateways.GATEWAY_BESCHAEDIGT_CLOSE) //
.hasNotPassed(ServiceTasks.KUNDENDATEN_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_NEUSENDUNG) //
.hasNotPassed(ServiceTasks.FINANZDATEN_ERMITTELN) //
.hasNotPassed(ServiceTasks.ERSTATTUNG) //
.hasNotPassed(Gateways.GATEWAY_NEUSENDUNG_CLOSED) //
.hasNotPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG_CLOSED) //
.hasNotPassed(Events.RETOURE_ENDE) //
.hasNotPassed(ManualTasks.WARE_EINSORTIEREN) //
.hasNotPassed(UserTasks.MANUELLE_PRUEFUNG) //
.hasNotPassed(ServiceTasks.WARENNUMMER_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasNotPassed(UserTasks.PAKET_PACKEN) //
.hasNotPassed(UserTasks.PAKET_PRUEFEN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasNotPassed(UserTasks.PAKET_SENDEN) //
.hasNotPassed(Gateways.GATEWAY_AUSPACKEN) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_NORMAL) //
.hasNotPassed(Gateways.GATEWAY_14EVKAP) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_LUXUS) //
.hasNotPassed(UserTasks.WARE_SPENDEN) //
.isNotEnded(); //
complete(task(UserTasks.WARENDATEN_ERFASSEN), withVariables(VAR_MARKE, "Luxury Foot", VAR_PREIS, 350));
assertThat(processInstance) //
.hasPassed(Events.RETOURE_START) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT) //
.hasPassed(UserTasks.WARENDATEN_ERFASSEN) //
.hasPassed(BusinessRuleTasks.VERNICHTUNG_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_VERNICHTUNG) //
.hasNotPassed(UserTasks.WARE_VERNICHTEN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG_CLOSE) //
.hasNotPassed(Gateways.GATEWAY_BESCHAEDIGT_CLOSE) //
.hasNotPassed(ServiceTasks.KUNDENDATEN_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_NEUSENDUNG) //
.hasNotPassed(ServiceTasks.FINANZDATEN_ERMITTELN) //
.hasNotPassed(ServiceTasks.ERSTATTUNG) //
.hasNotPassed(Gateways.GATEWAY_NEUSENDUNG_CLOSED) //
.hasNotPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG_CLOSED) //
.hasNotPassed(Events.RETOURE_ENDE) //
.hasNotPassed(ManualTasks.WARE_EINSORTIEREN) //
.hasNotPassed(UserTasks.MANUELLE_PRUEFUNG) //
.hasNotPassed(ServiceTasks.WARENNUMMER_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasNotPassed(UserTasks.PAKET_PACKEN) //
.hasNotPassed(UserTasks.PAKET_PRUEFEN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasNotPassed(UserTasks.PAKET_SENDEN) //
.hasNotPassed(Gateways.GATEWAY_AUSPACKEN) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_NORMAL) //
.hasNotPassed(Gateways.GATEWAY_14EVKAP) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_LUXUS) //
.hasNotPassed(UserTasks.WARE_SPENDEN) //
.isNotEnded(); //
complete(task(UserTasks.WARE_VERNICHTEN));
assertThat(processInstance) //
.hasPassed(Events.RETOURE_START) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT) //
.hasPassed(UserTasks.WARENDATEN_ERFASSEN) //
.hasPassed(BusinessRuleTasks.VERNICHTUNG_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_VERNICHTUNG) //
.hasPassed(UserTasks.WARE_VERNICHTEN) //
.hasPassed(Gateways.GATEWAY_VERNICHTUNG_CLOSE) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT_CLOSE) //
.hasNotPassed(ServiceTasks.KUNDENDATEN_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_NEUSENDUNG) //
.hasNotPassed(ServiceTasks.FINANZDATEN_ERMITTELN) //
.hasNotPassed(ServiceTasks.ERSTATTUNG) //
.hasNotPassed(Gateways.GATEWAY_NEUSENDUNG_CLOSED) //
.hasNotPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG_CLOSED) //
.hasNotPassed(Events.RETOURE_ENDE) //
.hasNotPassed(ManualTasks.WARE_EINSORTIEREN) //
.hasNotPassed(UserTasks.MANUELLE_PRUEFUNG) //
.hasNotPassed(ServiceTasks.WARENNUMMER_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasNotPassed(UserTasks.PAKET_PACKEN) //
.hasNotPassed(UserTasks.PAKET_PRUEFEN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasNotPassed(UserTasks.PAKET_SENDEN) //
.hasNotPassed(Gateways.GATEWAY_AUSPACKEN) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_NORMAL) //
.hasNotPassed(Gateways.GATEWAY_14EVKAP) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_LUXUS) //
.hasNotPassed(UserTasks.WARE_SPENDEN) //
.isNotEnded(); //
Map<String, Object> variableSnapshot0 = runtimeService() //
.getVariables(processInstance.getId()); //
List<LockedExternalTask> lockedTasks0 = lockTasks("customer");
complete(getLockedTask(lockedTasks0, ServiceTasks.KUNDENDATEN_ERMITTELN), ExternalServiceMockProvider.customerProvider(variableSnapshot0));
assertThat(processInstance) //
.hasPassed(Events.RETOURE_START) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT) //
.hasPassed(UserTasks.WARENDATEN_ERFASSEN) //
.hasPassed(BusinessRuleTasks.VERNICHTUNG_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_VERNICHTUNG) //
.hasPassed(UserTasks.WARE_VERNICHTEN) //
.hasPassed(Gateways.GATEWAY_VERNICHTUNG_CLOSE) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT_CLOSE) //
.hasPassed(ServiceTasks.KUNDENDATEN_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_NEUSENDUNG) //
.hasNotPassed(ServiceTasks.FINANZDATEN_ERMITTELN) //
.hasNotPassed(ServiceTasks.ERSTATTUNG) //
.hasNotPassed(Gateways.GATEWAY_NEUSENDUNG_CLOSED) //
.hasNotPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG_CLOSED) //
.hasNotPassed(Events.RETOURE_ENDE) //
.hasNotPassed(ManualTasks.WARE_EINSORTIEREN) //
.hasNotPassed(UserTasks.MANUELLE_PRUEFUNG) //
.hasNotPassed(ServiceTasks.WARENNUMMER_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasNotPassed(UserTasks.PAKET_PACKEN) //
.hasNotPassed(UserTasks.PAKET_PRUEFEN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasNotPassed(UserTasks.PAKET_SENDEN) //
.hasNotPassed(Gateways.GATEWAY_AUSPACKEN) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_NORMAL) //
.hasNotPassed(Gateways.GATEWAY_14EVKAP) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_LUXUS) //
.hasNotPassed(UserTasks.WARE_SPENDEN) //
.isNotEnded(); //
Map<String, Object> variableSnapshot1 = runtimeService() //
.getVariables(processInstance.getId()); //
variableSnapshot1.put(VAR_SERVICEIDENTIFIER, "getData");
List<LockedExternalTask> lockedTasks1 = lockTasks(lockedTasks0, "financial");
complete(getLockedTask(lockedTasks1, ServiceTasks.FINANZDATEN_ERMITTELN), ExternalServiceMockProvider.financialMock(variableSnapshot1));
assertThat(processInstance) //
.hasPassed(Events.RETOURE_START) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT) //
.hasPassed(UserTasks.WARENDATEN_ERFASSEN) //
.hasPassed(BusinessRuleTasks.VERNICHTUNG_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_VERNICHTUNG) //
.hasPassed(UserTasks.WARE_VERNICHTEN) //
.hasPassed(Gateways.GATEWAY_VERNICHTUNG_CLOSE) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT_CLOSE) //
.hasPassed(ServiceTasks.KUNDENDATEN_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_NEUSENDUNG) //
.hasPassed(ServiceTasks.FINANZDATEN_ERMITTELN) //
.hasNotPassed(ServiceTasks.ERSTATTUNG) //
.hasNotPassed(Gateways.GATEWAY_NEUSENDUNG_CLOSED) //
.hasNotPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG_CLOSED) //
.hasNotPassed(Events.RETOURE_ENDE) //
.hasNotPassed(ManualTasks.WARE_EINSORTIEREN) //
.hasNotPassed(UserTasks.MANUELLE_PRUEFUNG) //
.hasNotPassed(ServiceTasks.WARENNUMMER_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasNotPassed(UserTasks.PAKET_PACKEN) //
.hasNotPassed(UserTasks.PAKET_PRUEFEN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasNotPassed(UserTasks.PAKET_SENDEN) //
.hasNotPassed(Gateways.GATEWAY_AUSPACKEN) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_NORMAL) //
.hasNotPassed(Gateways.GATEWAY_14EVKAP) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_LUXUS) //
.hasNotPassed(UserTasks.WARE_SPENDEN) //
.isNotEnded(); //
Map<String, Object> variableSnapshot2 = runtimeService() //
.getVariables(processInstance.getId()); //
variableSnapshot2.put(VAR_SERVICEIDENTIFIER, "refund");
List<LockedExternalTask> lockedTasks2 = lockTasks(lockedTasks1, "financial");
complete(getLockedTask(lockedTasks2, ServiceTasks.ERSTATTUNG), ExternalServiceMockProvider.financialMock(variableSnapshot2));
assertThat(processInstance) //
.hasPassed(Events.RETOURE_START) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT) //
.hasPassed(UserTasks.WARENDATEN_ERFASSEN) //
.hasPassed(BusinessRuleTasks.VERNICHTUNG_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_VERNICHTUNG) //
.hasPassed(UserTasks.WARE_VERNICHTEN) //
.hasPassed(Gateways.GATEWAY_VERNICHTUNG_CLOSE) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT_CLOSE) //
.hasPassed(ServiceTasks.KUNDENDATEN_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_NEUSENDUNG) //
.hasPassed(ServiceTasks.FINANZDATEN_ERMITTELN) //
.hasPassed(ServiceTasks.ERSTATTUNG) //
.hasPassed(Gateways.GATEWAY_NEUSENDUNG_CLOSED) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG_CLOSED) //
.hasPassed(Events.RETOURE_ENDE) //
.hasNotPassed(ManualTasks.WARE_EINSORTIEREN) //
.hasNotPassed(UserTasks.MANUELLE_PRUEFUNG) //
.hasNotPassed(ServiceTasks.WARENNUMMER_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasNotPassed(UserTasks.PAKET_PACKEN) //
.hasNotPassed(UserTasks.PAKET_PRUEFEN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasNotPassed(UserTasks.PAKET_SENDEN) //
.hasNotPassed(Gateways.GATEWAY_AUSPACKEN) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_NORMAL) //
.hasNotPassed(Gateways.GATEWAY_14EVKAP) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_LUXUS) //
.hasNotPassed(UserTasks.WARE_SPENDEN) //
.isEnded() //
.variables() //
.contains(entry(VAR_KUNDENNUMMER, "C-123A456"), entry(VAR_EMAILGESENDET, "Nein"), entry(VAR_MARKE, "Luxury Foot"), entry(VAR_IBAN, "DE12345678900000123456"), entry(VAR_VORNAME, "Max"), entry(VAR_ERSTATTUNG, true), entry(VAR_NACHNAME, "Mustermann"), entry(VAR_BESCHAEDIGT, true)); //
}
@Test
@Deployment(resources = {"retoure.bpmn", "\\schuh_vernichtung_spende.dmn"})
public void casetill1() {
ProcessInstance processInstance = runtimeService() //
.startProcessInstanceByKey("Retoure", withVariables(VAR_BESCHAEDIGT, true, VAR_ERSTATTUNG, true, VAR_KUNDENNUMMER, "123")); //
assertThat(processInstance) //
.isStarted() //
.hasPassed(Events.RETOURE_START) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT) //
.hasPassed(ManualTasks.WARE_EINSORTIEREN) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT_CLOSE) //
.hasNotPassed(ServiceTasks.KUNDENDATEN_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_NEUSENDUNG) //
.hasNotPassed(ServiceTasks.FINANZDATEN_ERMITTELN) //
.hasNotPassed(ServiceTasks.ERSTATTUNG) //
.hasNotPassed(Gateways.GATEWAY_NEUSENDUNG_CLOSED) //
.hasNotPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG_CLOSED) //
.hasNotPassed(Events.RETOURE_ENDE) //
.hasNotPassed(UserTasks.MANUELLE_PRUEFUNG) //
.hasNotPassed(ServiceTasks.WARENNUMMER_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasNotPassed(UserTasks.PAKET_PACKEN) //
.hasNotPassed(UserTasks.PAKET_PRUEFEN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasNotPassed(UserTasks.PAKET_SENDEN) //
.hasNotPassed(Gateways.GATEWAY_AUSPACKEN) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_NORMAL) //
.hasNotPassed(Gateways.GATEWAY_14EVKAP) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_LUXUS) //
.hasNotPassed(UserTasks.WARENDATEN_ERFASSEN) //
.hasNotPassed(BusinessRuleTasks.VERNICHTUNG_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG) //
.hasNotPassed(UserTasks.WARE_VERNICHTEN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG_CLOSE) //
.hasNotPassed(UserTasks.WARE_SPENDEN) //
.isNotEnded(); //
Map<String, Object> variableSnapshot0 = runtimeService() //
.getVariables(processInstance.getId()); //
List<LockedExternalTask> lockedTasks0 = lockTasks("customer");
complete(getLockedTask(lockedTasks0, ServiceTasks.KUNDENDATEN_ERMITTELN), ExternalServiceMockProvider.customerProvider(variableSnapshot0));
assertThat(processInstance) //
.hasPassed(Events.RETOURE_START) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT) //
.hasPassed(ManualTasks.WARE_EINSORTIEREN) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT_CLOSE) //
.hasPassed(ServiceTasks.KUNDENDATEN_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_NEUSENDUNG) //
.hasNotPassed(ServiceTasks.FINANZDATEN_ERMITTELN) //
.hasNotPassed(ServiceTasks.ERSTATTUNG) //
.hasNotPassed(Gateways.GATEWAY_NEUSENDUNG_CLOSED) //
.hasNotPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG_CLOSED) //
.hasNotPassed(Events.RETOURE_ENDE) //
.hasNotPassed(UserTasks.MANUELLE_PRUEFUNG) //
.hasNotPassed(ServiceTasks.WARENNUMMER_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasNotPassed(UserTasks.PAKET_PACKEN) //
.hasNotPassed(UserTasks.PAKET_PRUEFEN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasNotPassed(UserTasks.PAKET_SENDEN) //
.hasNotPassed(Gateways.GATEWAY_AUSPACKEN) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_NORMAL) //
.hasNotPassed(Gateways.GATEWAY_14EVKAP) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_LUXUS) //
.hasNotPassed(UserTasks.WARENDATEN_ERFASSEN) //
.hasNotPassed(BusinessRuleTasks.VERNICHTUNG_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG) //
.hasNotPassed(UserTasks.WARE_VERNICHTEN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG_CLOSE) //
.hasNotPassed(UserTasks.WARE_SPENDEN) //
.isNotEnded(); //
Map<String, Object> variableSnapshot1 = runtimeService() //
.getVariables(processInstance.getId()); //
variableSnapshot1.put(VAR_SERVICEIDENTIFIER, "getData");
List<LockedExternalTask> lockedTasks1 = lockTasks(lockedTasks0, "financial");
complete(getLockedTask(lockedTasks1, ServiceTasks.FINANZDATEN_ERMITTELN), ExternalServiceMockProvider.financialMock(variableSnapshot1));
assertThat(processInstance) //
.hasPassed(Events.RETOURE_START) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT) //
.hasPassed(ManualTasks.WARE_EINSORTIEREN) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT_CLOSE) //
.hasPassed(ServiceTasks.KUNDENDATEN_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_NEUSENDUNG) //
.hasPassed(ServiceTasks.FINANZDATEN_ERMITTELN) //
.hasNotPassed(ServiceTasks.ERSTATTUNG) //
.hasNotPassed(Gateways.GATEWAY_NEUSENDUNG_CLOSED) //
.hasNotPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG_CLOSED) //
.hasNotPassed(Events.RETOURE_ENDE) //
.hasNotPassed(UserTasks.MANUELLE_PRUEFUNG) //
.hasNotPassed(ServiceTasks.WARENNUMMER_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasNotPassed(UserTasks.PAKET_PACKEN) //
.hasNotPassed(UserTasks.PAKET_PRUEFEN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasNotPassed(UserTasks.PAKET_SENDEN) //
.hasNotPassed(Gateways.GATEWAY_AUSPACKEN) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_NORMAL) //
.hasNotPassed(Gateways.GATEWAY_14EVKAP) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_LUXUS) //
.hasNotPassed(UserTasks.WARENDATEN_ERFASSEN) //
.hasNotPassed(BusinessRuleTasks.VERNICHTUNG_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG) //
.hasNotPassed(UserTasks.WARE_VERNICHTEN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG_CLOSE) //
.hasNotPassed(UserTasks.WARE_SPENDEN) //
.isNotEnded(); //
Map<String, Object> variableSnapshot2 = runtimeService() //
.getVariables(processInstance.getId()); //
variableSnapshot2.put(VAR_SERVICEIDENTIFIER, "refund");
List<LockedExternalTask> lockedTasks2 = lockTasks(lockedTasks1, "financial");
complete(getLockedTask(lockedTasks2, ServiceTasks.ERSTATTUNG), ExternalServiceMockProvider.financialMock(variableSnapshot2));
assertThat(processInstance) //
.hasPassed(Events.RETOURE_START) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT) //
.hasPassed(ManualTasks.WARE_EINSORTIEREN) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT_CLOSE) //
.hasPassed(ServiceTasks.KUNDENDATEN_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_NEUSENDUNG) //
.hasPassed(ServiceTasks.FINANZDATEN_ERMITTELN) //
.hasPassed(ServiceTasks.ERSTATTUNG) //
.hasPassed(Gateways.GATEWAY_NEUSENDUNG_CLOSED) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG_CLOSED) //
.hasPassed(Events.RETOURE_ENDE) //
.hasNotPassed(UserTasks.MANUELLE_PRUEFUNG) //
.hasNotPassed(ServiceTasks.WARENNUMMER_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasNotPassed(UserTasks.PAKET_PACKEN) //
.hasNotPassed(UserTasks.PAKET_PRUEFEN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasNotPassed(UserTasks.PAKET_SENDEN) //
.hasNotPassed(Gateways.GATEWAY_AUSPACKEN) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_NORMAL) //
.hasNotPassed(Gateways.GATEWAY_14EVKAP) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_LUXUS) //
.hasNotPassed(UserTasks.WARENDATEN_ERFASSEN) //
.hasNotPassed(BusinessRuleTasks.VERNICHTUNG_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG) //
.hasNotPassed(UserTasks.WARE_VERNICHTEN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG_CLOSE) //
.hasNotPassed(UserTasks.WARE_SPENDEN) //
.isEnded() //
.variables() //
.contains(entry(VAR_IBANREFUND, "DE80123084556"), entry(VAR_FIRSTNAME, "Till"), entry(VAR_VORNAME, "till"), entry(VAR_LASTNAME, "Brinkhus"), entry(VAR_SERVICEIDENTIFIER, "getData"), entry(VAR_BESCHAEDIGT, false), entry(VAR_KUNDENNUMMER, "123"), entry(VAR_EMAILGESENDET, "Ja"), entry(VAR_PREIS, 1234), entry(VAR_MARKE, "wer"), entry(VAR_IBAN, "DE80123084556"), entry(VAR_ERSTATTUNG, true), entry(VAR_CONFIRMATIONEMAILSENT, "Ja"), entry(VAR_NACHNAME, "Brinkhus"), entry(VAR_PAKETTYP, "Normalverpackung"), entry(VAR_PAKET, true)); //
}
@Test
@Deployment(resources = {"retoure.bpmn", "\\schuh_vernichtung_spende.dmn"})
public void casetill2() {
ProcessInstance processInstance = runtimeService() //
.startProcessInstanceByKey("Retoure", withVariables(VAR_BESCHAEDIGT, true, VAR_ERSTATTUNG, true, VAR_KUNDENNUMMER, "12345")); //
assertThat(processInstance) //
.isStarted() //
.hasPassed(Events.RETOURE_START) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT) //
.hasPassed(ManualTasks.WARE_EINSORTIEREN) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT_CLOSE) //
.hasNotPassed(ServiceTasks.KUNDENDATEN_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_NEUSENDUNG) //
.hasNotPassed(ServiceTasks.FINANZDATEN_ERMITTELN) //
.hasNotPassed(ServiceTasks.ERSTATTUNG) //
.hasNotPassed(Gateways.GATEWAY_NEUSENDUNG_CLOSED) //
.hasNotPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG_CLOSED) //
.hasNotPassed(Events.RETOURE_ENDE) //
.hasNotPassed(UserTasks.MANUELLE_PRUEFUNG) //
.hasNotPassed(ServiceTasks.WARENNUMMER_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasNotPassed(UserTasks.PAKET_PACKEN) //
.hasNotPassed(UserTasks.PAKET_PRUEFEN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasNotPassed(UserTasks.PAKET_SENDEN) //
.hasNotPassed(Gateways.GATEWAY_AUSPACKEN) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_NORMAL) //
.hasNotPassed(Gateways.GATEWAY_14EVKAP) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_LUXUS) //
.hasNotPassed(UserTasks.WARENDATEN_ERFASSEN) //
.hasNotPassed(BusinessRuleTasks.VERNICHTUNG_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG) //
.hasNotPassed(UserTasks.WARE_VERNICHTEN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG_CLOSE) //
.hasNotPassed(UserTasks.WARE_SPENDEN) //
.isNotEnded(); //
Map<String, Object> variableSnapshot0 = runtimeService() //
.getVariables(processInstance.getId()); //
List<LockedExternalTask> lockedTasks0 = lockTasks("customer");
complete(getLockedTask(lockedTasks0, ServiceTasks.KUNDENDATEN_ERMITTELN), ExternalServiceMockProvider.customerProvider(variableSnapshot0));
assertThat(processInstance) //
.hasPassed(Events.RETOURE_START) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT) //
.hasPassed(ManualTasks.WARE_EINSORTIEREN) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT_CLOSE) //
.hasPassed(ServiceTasks.KUNDENDATEN_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_NEUSENDUNG) //
.hasNotPassed(ServiceTasks.FINANZDATEN_ERMITTELN) //
.hasNotPassed(ServiceTasks.ERSTATTUNG) //
.hasNotPassed(Gateways.GATEWAY_NEUSENDUNG_CLOSED) //
.hasNotPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG_CLOSED) //
.hasNotPassed(Events.RETOURE_ENDE) //
.hasNotPassed(UserTasks.MANUELLE_PRUEFUNG) //
.hasNotPassed(ServiceTasks.WARENNUMMER_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasNotPassed(UserTasks.PAKET_PACKEN) //
.hasNotPassed(UserTasks.PAKET_PRUEFEN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasNotPassed(UserTasks.PAKET_SENDEN) //
.hasNotPassed(Gateways.GATEWAY_AUSPACKEN) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_NORMAL) //
.hasNotPassed(Gateways.GATEWAY_14EVKAP) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_LUXUS) //
.hasNotPassed(UserTasks.WARENDATEN_ERFASSEN) //
.hasNotPassed(BusinessRuleTasks.VERNICHTUNG_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG) //
.hasNotPassed(UserTasks.WARE_VERNICHTEN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG_CLOSE) //
.hasNotPassed(UserTasks.WARE_SPENDEN) //
.isNotEnded(); //
Map<String, Object> variableSnapshot1 = runtimeService() //
.getVariables(processInstance.getId()); //
variableSnapshot1.put(VAR_SERVICEIDENTIFIER, "getData");
List<LockedExternalTask> lockedTasks1 = lockTasks(lockedTasks0, "financial");
complete(getLockedTask(lockedTasks1, ServiceTasks.FINANZDATEN_ERMITTELN), ExternalServiceMockProvider.financialMock(variableSnapshot1));
assertThat(processInstance) //
.hasPassed(Events.RETOURE_START) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT) //
.hasPassed(ManualTasks.WARE_EINSORTIEREN) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT_CLOSE) //
.hasPassed(ServiceTasks.KUNDENDATEN_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_NEUSENDUNG) //
.hasPassed(ServiceTasks.FINANZDATEN_ERMITTELN) //
.hasNotPassed(ServiceTasks.ERSTATTUNG) //
.hasNotPassed(Gateways.GATEWAY_NEUSENDUNG_CLOSED) //
.hasNotPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG_CLOSED) //
.hasNotPassed(Events.RETOURE_ENDE) //
.hasNotPassed(UserTasks.MANUELLE_PRUEFUNG) //
.hasNotPassed(ServiceTasks.WARENNUMMER_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasNotPassed(UserTasks.PAKET_PACKEN) //
.hasNotPassed(UserTasks.PAKET_PRUEFEN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasNotPassed(UserTasks.PAKET_SENDEN) //
.hasNotPassed(Gateways.GATEWAY_AUSPACKEN) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_NORMAL) //
.hasNotPassed(Gateways.GATEWAY_14EVKAP) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_LUXUS) //
.hasNotPassed(UserTasks.WARENDATEN_ERFASSEN) //
.hasNotPassed(BusinessRuleTasks.VERNICHTUNG_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG) //
.hasNotPassed(UserTasks.WARE_VERNICHTEN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG_CLOSE) //
.hasNotPassed(UserTasks.WARE_SPENDEN) //
.isNotEnded(); //
Map<String, Object> variableSnapshot2 = runtimeService() //
.getVariables(processInstance.getId()); //
variableSnapshot2.put(VAR_SERVICEIDENTIFIER, "refund");
List<LockedExternalTask> lockedTasks2 = lockTasks(lockedTasks1, "financial");
complete(getLockedTask(lockedTasks2, ServiceTasks.ERSTATTUNG), ExternalServiceMockProvider.financialMock(variableSnapshot2));
assertThat(processInstance) //
.hasPassed(Events.RETOURE_START) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT) //
.hasPassed(ManualTasks.WARE_EINSORTIEREN) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT_CLOSE) //
.hasPassed(ServiceTasks.KUNDENDATEN_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_NEUSENDUNG) //
.hasPassed(ServiceTasks.FINANZDATEN_ERMITTELN) //
.hasPassed(ServiceTasks.ERSTATTUNG) //
.hasPassed(Gateways.GATEWAY_NEUSENDUNG_CLOSED) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG_CLOSED) //
.hasPassed(Events.RETOURE_ENDE) //
.hasNotPassed(UserTasks.MANUELLE_PRUEFUNG) //
.hasNotPassed(ServiceTasks.WARENNUMMER_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasNotPassed(UserTasks.PAKET_PACKEN) //
.hasNotPassed(UserTasks.PAKET_PRUEFEN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasNotPassed(UserTasks.PAKET_SENDEN) //
.hasNotPassed(Gateways.GATEWAY_AUSPACKEN) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_NORMAL) //
.hasNotPassed(Gateways.GATEWAY_14EVKAP) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_LUXUS) //
.hasNotPassed(UserTasks.WARENDATEN_ERFASSEN) //
.hasNotPassed(BusinessRuleTasks.VERNICHTUNG_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG) //
.hasNotPassed(UserTasks.WARE_VERNICHTEN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG_CLOSE) //
.hasNotPassed(UserTasks.WARE_SPENDEN) //
.isEnded(); //
}
@Test
@Deployment(resources = {"retoure.bpmn", "\\schuh_vernichtung_spende.dmn"})
public void TestHenninh() {
ProcessInstance processInstance = runtimeService() //
.startProcessInstanceByKey("Retoure"); //
assertThat(processInstance) //
.isStarted() //
.hasPassed(Events.RETOURE_START) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT) //
.hasPassed(ManualTasks.WARE_EINSORTIEREN) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT_CLOSE) //
.hasNotPassed(ServiceTasks.KUNDENDATEN_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_NEUSENDUNG) //
.hasNotPassed(UserTasks.MANUELLE_PRUEFUNG) //
.hasNotPassed(ServiceTasks.WARENNUMMER_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasNotPassed(UserTasks.PAKET_PACKEN) //
.hasNotPassed(UserTasks.PAKET_PRUEFEN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasNotPassed(UserTasks.PAKET_SENDEN) //
.hasNotPassed(Gateways.GATEWAY_NEUSENDUNG_CLOSED) //
.hasNotPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG_CLOSED) //
.hasNotPassed(Events.RETOURE_ENDE) //
.hasNotPassed(ServiceTasks.FINANZDATEN_ERMITTELN) //
.hasNotPassed(ServiceTasks.ERSTATTUNG) //
.hasNotPassed(Gateways.GATEWAY_AUSPACKEN) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_NORMAL) //
.hasNotPassed(Gateways.GATEWAY_14EVKAP) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_LUXUS) //
.hasNotPassed(UserTasks.WARENDATEN_ERFASSEN) //
.hasNotPassed(BusinessRuleTasks.VERNICHTUNG_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG) //
.hasNotPassed(UserTasks.WARE_VERNICHTEN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG_CLOSE) //
.hasNotPassed(UserTasks.WARE_SPENDEN) //
.isNotEnded(); //
Map<String, Object> variableSnapshot0 = runtimeService() //
.getVariables(processInstance.getId()); //
List<LockedExternalTask> lockedTasks0 = lockTasks("customer");
complete(getLockedTask(lockedTasks0, ServiceTasks.KUNDENDATEN_ERMITTELN), ExternalServiceMockProvider.customerProvider(variableSnapshot0));
assertThat(processInstance) //
.hasPassed(Events.RETOURE_START) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT) //
.hasPassed(ManualTasks.WARE_EINSORTIEREN) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT_CLOSE) //
.hasPassed(ServiceTasks.KUNDENDATEN_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_NEUSENDUNG) //
.hasNotPassed(UserTasks.MANUELLE_PRUEFUNG) //
.hasNotPassed(ServiceTasks.WARENNUMMER_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasNotPassed(UserTasks.PAKET_PACKEN) //
.hasNotPassed(UserTasks.PAKET_PRUEFEN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasNotPassed(UserTasks.PAKET_SENDEN) //
.hasNotPassed(Gateways.GATEWAY_NEUSENDUNG_CLOSED) //
.hasNotPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG_CLOSED) //
.hasNotPassed(Events.RETOURE_ENDE) //
.hasNotPassed(ServiceTasks.FINANZDATEN_ERMITTELN) //
.hasNotPassed(ServiceTasks.ERSTATTUNG) //
.hasNotPassed(Gateways.GATEWAY_AUSPACKEN) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_NORMAL) //
.hasNotPassed(Gateways.GATEWAY_14EVKAP) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_LUXUS) //
.hasNotPassed(UserTasks.WARENDATEN_ERFASSEN) //
.hasNotPassed(BusinessRuleTasks.VERNICHTUNG_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG) //
.hasNotPassed(UserTasks.WARE_VERNICHTEN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG_CLOSE) //
.hasNotPassed(UserTasks.WARE_SPENDEN) //
.isNotEnded(); //
complete(task(UserTasks.MANUELLE_PRUEFUNG));
assertThat(processInstance) //
.hasPassed(Events.RETOURE_START) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT) //
.hasPassed(ManualTasks.WARE_EINSORTIEREN) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT_CLOSE) //
.hasPassed(ServiceTasks.KUNDENDATEN_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_NEUSENDUNG) //
.hasPassed(UserTasks.MANUELLE_PRUEFUNG) //
.hasPassed(ServiceTasks.WARENNUMMER_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasNotPassed(UserTasks.PAKET_PACKEN) //
.hasNotPassed(UserTasks.PAKET_PRUEFEN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasNotPassed(UserTasks.PAKET_SENDEN) //
.hasNotPassed(Gateways.GATEWAY_NEUSENDUNG_CLOSED) //
.hasNotPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG_CLOSED) //
.hasNotPassed(Events.RETOURE_ENDE) //
.hasNotPassed(ServiceTasks.FINANZDATEN_ERMITTELN) //
.hasNotPassed(ServiceTasks.ERSTATTUNG) //
.hasNotPassed(Gateways.GATEWAY_AUSPACKEN) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_NORMAL) //
.hasNotPassed(Gateways.GATEWAY_14EVKAP) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_LUXUS) //
.hasNotPassed(UserTasks.WARENDATEN_ERFASSEN) //
.hasNotPassed(BusinessRuleTasks.VERNICHTUNG_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG) //
.hasNotPassed(UserTasks.WARE_VERNICHTEN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG_CLOSE) //
.hasNotPassed(UserTasks.WARE_SPENDEN) //
.isNotEnded(); //
complete(task(UserTasks.PAKET_PACKEN));
assertThat(processInstance) //
.hasPassed(Events.RETOURE_START) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT) //
.hasPassed(ManualTasks.WARE_EINSORTIEREN) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT_CLOSE) //
.hasPassed(ServiceTasks.KUNDENDATEN_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_NEUSENDUNG) //
.hasPassed(UserTasks.MANUELLE_PRUEFUNG) //
.hasPassed(ServiceTasks.WARENNUMMER_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasPassed(UserTasks.PAKET_PACKEN) //
.hasNotPassed(UserTasks.PAKET_PRUEFEN) //
.hasNotPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasNotPassed(UserTasks.PAKET_SENDEN) //
.hasNotPassed(Gateways.GATEWAY_NEUSENDUNG_CLOSED) //
.hasNotPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG_CLOSED) //
.hasNotPassed(Events.RETOURE_ENDE) //
.hasNotPassed(ServiceTasks.FINANZDATEN_ERMITTELN) //
.hasNotPassed(ServiceTasks.ERSTATTUNG) //
.hasNotPassed(Gateways.GATEWAY_AUSPACKEN) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_NORMAL) //
.hasNotPassed(Gateways.GATEWAY_14EVKAP) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_LUXUS) //
.hasNotPassed(UserTasks.WARENDATEN_ERFASSEN) //
.hasNotPassed(BusinessRuleTasks.VERNICHTUNG_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG) //
.hasNotPassed(UserTasks.WARE_VERNICHTEN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG_CLOSE) //
.hasNotPassed(UserTasks.WARE_SPENDEN) //
.isNotEnded(); //
complete(task(UserTasks.PAKET_PRUEFEN));
assertThat(processInstance) //
.hasPassed(Events.RETOURE_START) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT) //
.hasPassed(ManualTasks.WARE_EINSORTIEREN) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT_CLOSE) //
.hasPassed(ServiceTasks.KUNDENDATEN_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_NEUSENDUNG) //
.hasPassed(UserTasks.MANUELLE_PRUEFUNG) //
.hasPassed(ServiceTasks.WARENNUMMER_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasPassed(UserTasks.PAKET_PACKEN) //
.hasPassed(UserTasks.PAKET_PRUEFEN) //
.hasPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasNotPassed(UserTasks.PAKET_SENDEN) //
.hasNotPassed(Gateways.GATEWAY_NEUSENDUNG_CLOSED) //
.hasNotPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG_CLOSED) //
.hasNotPassed(Events.RETOURE_ENDE) //
.hasNotPassed(ServiceTasks.FINANZDATEN_ERMITTELN) //
.hasNotPassed(ServiceTasks.ERSTATTUNG) //
.hasNotPassed(Gateways.GATEWAY_AUSPACKEN) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_NORMAL) //
.hasNotPassed(Gateways.GATEWAY_14EVKAP) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_LUXUS) //
.hasNotPassed(UserTasks.WARENDATEN_ERFASSEN) //
.hasNotPassed(BusinessRuleTasks.VERNICHTUNG_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG) //
.hasNotPassed(UserTasks.WARE_VERNICHTEN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG_CLOSE) //
.hasNotPassed(UserTasks.WARE_SPENDEN) //
.isNotEnded(); //
complete(task(UserTasks.PAKET_SENDEN));
assertThat(processInstance) //
.hasPassed(Events.RETOURE_START) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT) //
.hasPassed(ManualTasks.WARE_EINSORTIEREN) //
.hasPassed(Gateways.GATEWAY_BESCHAEDIGT_CLOSE) //
.hasPassed(ServiceTasks.KUNDENDATEN_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_NEUSENDUNG) //
.hasPassed(UserTasks.MANUELLE_PRUEFUNG) //
.hasPassed(ServiceTasks.WARENNUMMER_ERMITTELN) //
.hasPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT_CLOSED) //
.hasPassed(UserTasks.PAKET_PACKEN) //
.hasPassed(UserTasks.PAKET_PRUEFEN) //
.hasPassed(Gateways.GATEWAY_EINPACKUNG_FEHLERHAFT) //
.hasPassed(UserTasks.PAKET_SENDEN) //
.hasPassed(Gateways.GATEWAY_NEUSENDUNG_CLOSED) //
.hasPassed(Gateways.GATEWAY_PARALLEL_LAGER_NEUSENDUNG_CLOSED) //
.hasPassed(Events.RETOURE_ENDE) //
.hasNotPassed(ServiceTasks.FINANZDATEN_ERMITTELN) //
.hasNotPassed(ServiceTasks.ERSTATTUNG) //
.hasNotPassed(Gateways.GATEWAY_AUSPACKEN) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_NORMAL) //
.hasNotPassed(Gateways.GATEWAY_14EVKAP) //
.hasNotPassed(ManualTasks.WARE_AUSPACKEN_LUXUS) //
.hasNotPassed(UserTasks.WARENDATEN_ERFASSEN) //
.hasNotPassed(BusinessRuleTasks.VERNICHTUNG_ERMITTELN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG) //
.hasNotPassed(UserTasks.WARE_VERNICHTEN) //
.hasNotPassed(Gateways.GATEWAY_VERNICHTUNG_CLOSE) //
.hasNotPassed(UserTasks.WARE_SPENDEN) //
.isEnded(); //
}
}
package de.sample.onlineschuhdemo;
import static org.camunda.bpm.engine.test.assertions.ProcessEngineTests.*;
import static org.camunda.bpm.engine.test.assertions.bpmn.BpmnAwareTests.complete;
import static org.camunda.bpm.engine.test.assertions.bpmn.BpmnAwareTests.runtimeService;
import static org.camunda.bpm.engine.test.assertions.bpmn.BpmnAwareTests.task;
import static org.camunda.bpm.engine.test.assertions.bpmn.BpmnAwareTests.withVariables;
import static org.assertj.core.api.Assertions.entry;
import static de.sample.onlineschuhdemo.TestUtils.*;
import org.apache.ibatis.logging.LogFactory;
import org.camunda.bpm.engine.runtime.ProcessInstance;
import org.camunda.bpm.engine.test.Deployment;
import org.camunda.bpm.engine.test.ProcessEngineRule;
import org.camunda.bpm.engine.externaltask.LockedExternalTask;
import org.camunda.bpm.extension.process_test_coverage.junit.rules.TestCoverageProcessEngineRuleBuilder;
import org.junit.Before;
import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
import java.util.List;
import java.util.Map;
public class Testcollection {
@ClassRule
@Rule
public static ProcessEngineRule rule = TestCoverageProcessEngineRuleBuilder.create().build();
static {
LogFactory.useSlf4jLogging();
}
@Before
public void setup() {
init(rule.getProcessEngine());
}
}
...@@ -2,12 +2,5 @@ package de.sample.onlineschuhdemo; ...@@ -2,12 +2,5 @@ package de.sample.onlineschuhdemo;
public class UserTasks { public class UserTasks {
public static final String MANUELLE_PRUEFUNG = "Manuelle_Pruefung";
public static final String PAKET_PACKEN = "Paket_packen";
public static final String PAKET_PRUEFEN = "Paket_pruefen";
public static final String PAKET_SENDEN = "Paket_senden";
public static final String WARENDATEN_ERFASSEN = "Warendaten_erfassen";
public static final String WARE_VERNICHTEN = "Ware_vernichten";
public static final String WARE_SPENDEN = "Ware_spenden";
} }
...@@ -51,6 +51,7 @@ public class BPMNFormFields { ...@@ -51,6 +51,7 @@ public class BPMNFormFields {
variableFieldMap.put(formField.getCamundaLabel(), variableFields); variableFieldMap.put(formField.getCamundaLabel(), variableFields);
} }
//FYI: Hier vllt. für Contstraints in Zukunft interessant
public HashMap<String, List<BPMNFieldConstraint>> getVariableConstraints() { public HashMap<String, List<BPMNFieldConstraint>> getVariableConstraints() {
return variableConstraints; return variableConstraints;
} }
......
...@@ -67,14 +67,16 @@ public class MigrationService { ...@@ -67,14 +67,16 @@ public class MigrationService {
try { try {
newDSL.getFlow(fcw.getFlow().getName()).setFlag(Flag.YELLOW); newDSL.getFlow(fcw.getFlow().getName()).setFlag(Flag.YELLOW);
// List<FlowElement> flowElement = newDSL.getFlowElements();
// for(FlowElement fe : flowElement ) {
List<FlowElementReference> fers = newDSL.getFlow(fcw.getFlow().getName()).getInclElements(); // fe.setFlag(Flag.GREEN);
// }
for(FlowElementReference fer : fers) { // List<FlowElementReference> fers = newDSL.getFlow(fcw.getFlow().getName()).getInclElements();
fer.setFlag(Flag.GREEN); //
System.out.println(fer.getRef().getName()); // for(FlowElementReference fer : fers) {
} // fer.setFlag(Flag.GREEN);
// System.out.println(fer.getRef().getName());
// }
//newDSL.getFlow(fcw.getFlow().getName()).getInclElements().clear(); //newDSL.getFlow(fcw.getFlow().getName()).getInclElements().clear();
//newDSL.getFlow(fcw.getFlow().getName()).getInclElements().replaceAll(fers); //newDSL.getFlow(fcw.getFlow().getName()).getInclElements().replaceAll(fers);
......
...@@ -6,6 +6,7 @@ public class FlowElementEnhancedDTO { ...@@ -6,6 +6,7 @@ public class FlowElementEnhancedDTO {
private String name; private String name;
private List<String> inputVariables; private List<String> inputVariables;
private List<String> outputVariables;
public FlowElementEnhancedDTO() { public FlowElementEnhancedDTO() {
} }
...@@ -25,4 +26,12 @@ public class FlowElementEnhancedDTO { ...@@ -25,4 +26,12 @@ public class FlowElementEnhancedDTO {
public void setInputVariables(List<String> inputVariables) { public void setInputVariables(List<String> inputVariables) {
this.inputVariables = inputVariables; this.inputVariables = inputVariables;
} }
public List<String> getOutputVariables() {
return outputVariables;
}
public void setOutputVariables(List<String> outputVariables) {
this.outputVariables = outputVariables;
}
} }
...@@ -352,23 +352,40 @@ public class TestService { ...@@ -352,23 +352,40 @@ public class TestService {
BPMNIOParameters bpmnIOParameters, List<ExternalTopic> externalTopics) { BPMNIOParameters bpmnIOParameters, List<ExternalTopic> externalTopics) {
if (flowElement instanceof StartEvent) { if (flowElement instanceof StartEvent) {
List<Variable> inputVariables = filterFlowElementVariables(variables, List<Variable> startVariables = filterFlowElementVariables(variables,
formFields.getVariablesForTask(flowElement.getId())); formFields.getVariablesForTask(flowElement.getId()));
return TestgeneratorDSLObjectCreator.createStartFlowElement(flowElement.getId(), inputVariables); return TestgeneratorDSLObjectCreator.createStartFlowElement(flowElement.getId(), startVariables);
// List<String> inputVariableNames = new ArrayList<>();
// inputVariableNames.addAll(bpmnIOParameters.getInputVariables(flowElement.getId()));
// List<String> outputVariableNames = new ArrayList<>();
// outputVariableNames.addAll(bpmnIOParameters.getOutputVariables(flowElement.getId()));
// System.out.println("Output " + outputVariableNames.size() + " Input " + inputVariableNames.size());
// List<Variable> inputVariables = filterFlowElementVariables(variables, inputVariableNames);
// List<Variable> outputVariables = filterFlowElementVariables(variables, outputVariableNames);
// return TestgeneratorDSLObjectCreator.createStartFlowElement(flowElement.getId(), inputVariables, outputVariables);
} else if (flowElement instanceof EndEvent) { } else if (flowElement instanceof EndEvent) {
return TestgeneratorDSLObjectCreator.createEndFlowElement(flowElement.getId()); return TestgeneratorDSLObjectCreator.createEndFlowElement(flowElement.getId());
} else if (flowElement instanceof Gateway) { } else if (flowElement instanceof Gateway) {
return TestgeneratorDSLObjectCreator.createGatewayFlowElement(flowElement.getId()); return TestgeneratorDSLObjectCreator.createGatewayFlowElement(flowElement.getId());
} else if (flowElement instanceof UserTask) { } else if (flowElement instanceof UserTask) {
List<String> inputVariableNames = new ArrayList<>(); List<String> inputVariableNames = new ArrayList<>();
inputVariableNames.addAll(bpmnIOParameters.getOutputVariables(flowElement.getId())); inputVariableNames.addAll(bpmnIOParameters.getInputVariables(flowElement.getId()));
inputVariableNames.addAll(formFields.getVariablesForTask(flowElement.getId())); List<String> outputVariableNames = new ArrayList<>();
outputVariableNames.addAll(bpmnIOParameters.getOutputVariables(flowElement.getId()));
System.out.println("Output " + outputVariableNames.size() + " Input " + inputVariableNames.size());
List<Variable> inputVariables = filterFlowElementVariables(variables, inputVariableNames); List<Variable> inputVariables = filterFlowElementVariables(variables, inputVariableNames);
List<Variable> outputVariables = filterFlowElementVariables(variables, outputVariableNames);
return TestgeneratorDSLObjectCreator.createUserTaskFlowElement(flowElement.getId(), inputVariables, flowElement.getName()); return TestgeneratorDSLObjectCreator.createUserTaskFlowElement(flowElement.getId(), inputVariables, outputVariables, flowElement.getName());
} else if (flowElement instanceof ManualTask) { } else if (flowElement instanceof ManualTask) {
return TestgeneratorDSLObjectCreator.createManualTaskFlowElement(flowElement.getId(), flowElement.getName()); List<String> inputVariableNames = new ArrayList<>();
inputVariableNames.addAll(bpmnIOParameters.getInputVariables(flowElement.getId()));
List<String> outputVariableNames = new ArrayList<>();
outputVariableNames.addAll(bpmnIOParameters.getOutputVariables(flowElement.getId()));
System.out.println("Output " + outputVariableNames.size() + " Input " + inputVariableNames.size());
List<Variable> inputVariables = filterFlowElementVariables(variables, inputVariableNames);
List<Variable> outputVariables = filterFlowElementVariables(variables, outputVariableNames);
return TestgeneratorDSLObjectCreator.createManualTaskFlowElement(flowElement.getId(), inputVariables, outputVariables, flowElement.getName());
} else if (flowElement instanceof ScriptTask) { } else if (flowElement instanceof ScriptTask) {
return TestgeneratorDSLObjectCreator.createScriptTaskFlowElement(flowElement.getId(), flowElement.getName()); return TestgeneratorDSLObjectCreator.createScriptTaskFlowElement(flowElement.getId(), flowElement.getName());
} else if (flowElement instanceof BusinessRuleTask) { } else if (flowElement instanceof BusinessRuleTask) {
...@@ -386,8 +403,14 @@ public class TestService { ...@@ -386,8 +403,14 @@ public class TestService {
} else if (externalTopic != null) { } else if (externalTopic != null) {
List<VariableDeclaration> hardcodedVariables = BPMNParseUtils.getHardcodedVariables(flowElement.getId(), variables, List<VariableDeclaration> hardcodedVariables = BPMNParseUtils.getHardcodedVariables(flowElement.getId(), variables,
bpmnIOParameters); bpmnIOParameters);
List<String> inputVariableNames = new ArrayList<>();
inputVariableNames.addAll(bpmnIOParameters.getInputVariables(flowElement.getId()));
List<String> outputVariableNames = new ArrayList<>();
outputVariableNames.addAll(bpmnIOParameters.getOutputVariables(flowElement.getId()));
List<Variable> inputVariables = filterFlowElementVariables(variables, inputVariableNames);
List<Variable> outputVariables = filterFlowElementVariables(variables, outputVariableNames);
return TestgeneratorDSLObjectCreator.createExternalServiceTaskFlowElement(flowElement.getId(), return TestgeneratorDSLObjectCreator.createExternalServiceTaskFlowElement(flowElement.getId(),
externalTopic, hardcodedVariables, flowElement.getName()); externalTopic, hardcodedVariables, flowElement.getName(), inputVariables, outputVariables);
} else { } else {
throw new IncompleteFlowElementException(flowElement.getId()); throw new IncompleteFlowElementException(flowElement.getId());
} }
......
...@@ -6,6 +6,7 @@ import java.nio.file.Paths; ...@@ -6,6 +6,7 @@ import java.nio.file.Paths;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.Stream; import java.util.stream.Stream;
...@@ -141,8 +142,32 @@ public class BPMNParseUtils { ...@@ -141,8 +142,32 @@ public class BPMNParseUtils {
public static List<Variable> getVariables(BPMNFormFields formFields, public static List<Variable> getVariables(BPMNFormFields formFields,
HashMap<String, BPMNTestdata<? extends Object>> variableTestdata, BPMNIOParameters bpmnIOParameters) { HashMap<String, BPMNTestdata<? extends Object>> variableTestdata, BPMNIOParameters bpmnIOParameters) {
System.out.println("============================================");
System.out.println("INSIDE VARIABLES");
HashMap<String, List<String>> inputList = bpmnIOParameters.getInputParameters();
HashMap<String, List<String>> outputList = bpmnIOParameters.getOutputParameters();
List<String> hardcodedList = bpmnIOParameters.getHardcodedInputParameters();
List<String> test = new ArrayList<String>();
System.out.println("Input Keys: ");
for(Map.Entry<String, List<String>> entry : inputList.entrySet()) {
test.addAll(entry.getValue());
System.out.println(entry.getKey() + " " + entry.getKey().getClass());
}
System.out.println("Input values: ");
for(String test2 : test) {
System.out.println(test2 + " " + test2.getClass());
}
System.out.println("Output Keys: ");
for(Map.Entry<String, List<String>> entry : outputList.entrySet()) {
test.addAll(entry.getValue());
System.out.println(entry.getKey() + " " + entry.getKey().getClass());
}
System.out.println("Output values: ");
for(String test2 : test) {
System.out.println(test2 + " " + test2.getClass());
}
List<Variable> variables = new ArrayList<>(); List<Variable> variables = new ArrayList<>();
List<StringVariable> stringVariables = Stream.concat(Stream.concat(// List<StringVariable> stringVariables = Stream.concat(Stream.concat(//
formFields.getStringVariables().stream(), // formFields.getStringVariables().stream(), //
bpmnIOParameters.getVariables().stream()), // bpmnIOParameters.getVariables().stream()), //
...@@ -151,12 +176,12 @@ public class BPMNParseUtils { ...@@ -151,12 +176,12 @@ public class BPMNParseUtils {
.map(s -> TestgeneratorDSLObjectCreator.createStringVariable(s, .map(s -> TestgeneratorDSLObjectCreator.createStringVariable(s,
getProposals(s, variableTestdata.get(s), String.class))) // getProposals(s, variableTestdata.get(s), String.class))) //
.collect(Collectors.toList()); // .collect(Collectors.toList()); //
// List<StringVariable> stringVariables = formFields.getStringVariables().stream() // // List<StringVariable> stringVariables = formFields.getStringVariables().stream() //
// .map(s -> TestgeneratorDSLObjectCreator.createStringVariable(s, // .map(s -> TestgeneratorDSLObjectCreator.createStringVariable(s,
// getProposals(s, variableTestdata.get(s), String.class))) // // getProposals(s, variableTestdata.get(s), String.class))) //
// .collect(Collectors.toList()); // .collect(Collectors.toList());
List<IntVariable> longVariables = Stream.concat( // List<IntVariable> longVariables = Stream.concat( //
formFields.getLongVariables().stream(), // formFields.getLongVariables().stream(), //
bpmnIOParameters.getHardcodedInputParametersLong().stream() // bpmnIOParameters.getHardcodedInputParametersLong().stream() //
...@@ -164,7 +189,6 @@ public class BPMNParseUtils { ...@@ -164,7 +189,6 @@ public class BPMNParseUtils {
.map(i -> TestgeneratorDSLObjectCreator.createIntVariable(i, .map(i -> TestgeneratorDSLObjectCreator.createIntVariable(i,
getIntProposals(i, variableTestdata.get(i)))) // getIntProposals(i, variableTestdata.get(i)))) //
.collect(Collectors.toList()); .collect(Collectors.toList());
List<BooleanVariable> booleanVariables = Stream.concat(// List<BooleanVariable> booleanVariables = Stream.concat(//
formFields.getBooleanVariables().stream(), // formFields.getBooleanVariables().stream(), //
bpmnIOParameters.getHardcodedInputParametersBoolean().stream() // bpmnIOParameters.getHardcodedInputParametersBoolean().stream() //
...@@ -172,11 +196,13 @@ public class BPMNParseUtils { ...@@ -172,11 +196,13 @@ public class BPMNParseUtils {
.map(b -> TestgeneratorDSLObjectCreator.createBooleanVariable(b, .map(b -> TestgeneratorDSLObjectCreator.createBooleanVariable(b,
getProposals(b, variableTestdata.get(b), Boolean.class))) // getProposals(b, variableTestdata.get(b), Boolean.class))) //
.collect(Collectors.toList()); .collect(Collectors.toList());
variables.addAll(stringVariables); variables.addAll(stringVariables);
variables.addAll(longVariables); variables.addAll(longVariables);
variables.addAll(booleanVariables); variables.addAll(booleanVariables);
for(Variable var: variables) {
System.out.println(var.getName());
}
System.out.println("============================================");
return variables; return variables;
} }
...@@ -257,7 +283,10 @@ public class BPMNParseUtils { ...@@ -257,7 +283,10 @@ public class BPMNParseUtils {
.map(entry -> VariableConverter.getVariableDeclaration(variables, entry.getKey(), entry.getValue())) // .map(entry -> VariableConverter.getVariableDeclaration(variables, entry.getKey(), entry.getValue())) //
.forEach(variableDeclaration -> hardcodedVariables.add(variableDeclaration)); // .forEach(variableDeclaration -> hardcodedVariables.add(variableDeclaration)); //
} }
System.out.println("================");
for(VariableDeclaration var: hardcodedVariables) {
System.out.println(var.getClass());
}
return hardcodedVariables; return hardcodedVariables;
} }
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment