Skip to content
Snippets Groups Projects
Commit 6e33e266 authored by Florian Lambers's avatar Florian Lambers
Browse files

added flow flag

parent 1bd73542
No related branches found
No related tags found
No related merge requests found
Showing
with 1190 additions and 2 deletions
...@@ -2,5 +2,6 @@ package de.sample.onlineschuhdemo; ...@@ -2,5 +2,6 @@ package de.sample.onlineschuhdemo;
public class BusinessRuleTasks { public class BusinessRuleTasks {
public static final String VERNICHTUNG_ERMITTELN = "Vernichtung_ermitteln";
} }
...@@ -2,5 +2,7 @@ package de.sample.onlineschuhdemo; ...@@ -2,5 +2,7 @@ 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,5 +5,47 @@ import java.util.Map; ...@@ -5,5 +5,47 @@ 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,5 +2,17 @@ package de.sample.onlineschuhdemo; ...@@ -2,5 +2,17 @@ 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,5 +2,8 @@ package de.sample.onlineschuhdemo; ...@@ -2,5 +2,8 @@ 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";
} }
...@@ -2,5 +2,9 @@ package de.sample.onlineschuhdemo; ...@@ -2,5 +2,9 @@ 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";
} }
...@@ -13,6 +13,9 @@ import org.camunda.bpm.engine.runtime.ProcessInstance; ...@@ -13,6 +13,9 @@ import org.camunda.bpm.engine.runtime.ProcessInstance;
import org.camunda.bpm.engine.test.Deployment; import org.camunda.bpm.engine.test.Deployment;
import org.camunda.bpm.engine.test.ProcessEngineRule; import org.camunda.bpm.engine.test.ProcessEngineRule;
import org.camunda.bpm.engine.externaltask.LockedExternalTask; 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.camunda.bpm.extension.process_test_coverage.junit.rules.TestCoverageProcessEngineRuleBuilder;
import org.junit.Before; import org.junit.Before;
import org.junit.ClassRule; import org.junit.ClassRule;
...@@ -27,6 +30,22 @@ public class Testcollection-old { ...@@ -27,6 +30,22 @@ public class Testcollection-old {
@Rule @Rule
public static ProcessEngineRule rule = TestCoverageProcessEngineRuleBuilder.create().build(); 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 { static {
LogFactory.useSlf4jLogging(); LogFactory.useSlf4jLogging();
...@@ -35,5 +54,1081 @@ public class Testcollection-old { ...@@ -35,5 +54,1081 @@ public class Testcollection-old {
@Before @Before
public void setup() { public void setup() {
init(rule.getProcessEngine()); 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(); //
} }
} }
...@@ -2,5 +2,12 @@ package de.sample.onlineschuhdemo; ...@@ -2,5 +2,12 @@ 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";
} }
package de.fhmuenster.masterthesis.Testgenerator.migration; package de.fhmuenster.masterthesis.Testgenerator.migration;
import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collections; import java.util.Collections;
...@@ -27,6 +28,7 @@ import de.fhmuenster.masterthesis.testgeneratorDSL.UserTaskFlowElement; ...@@ -27,6 +28,7 @@ import de.fhmuenster.masterthesis.testgeneratorDSL.UserTaskFlowElement;
import de.fhmuenster.masterthesis.testgeneratorDSL.SequenceFlowElement; import de.fhmuenster.masterthesis.testgeneratorDSL.SequenceFlowElement;
import de.fhmuenster.masterthesis.testgeneratorDSL.ServiceTaskFlowElement; import de.fhmuenster.masterthesis.testgeneratorDSL.ServiceTaskFlowElement;
import de.fhmuenster.masterthesis.testgeneratorDSL.BusinessRuleTaskFlowElement; import de.fhmuenster.masterthesis.testgeneratorDSL.BusinessRuleTaskFlowElement;
import de.fhmuenster.masterthesis.testgeneratorDSL.Flag;
import de.fhmuenster.masterthesis.utils.TestgeneratorDSLUtils; import de.fhmuenster.masterthesis.utils.TestgeneratorDSLUtils;
import org.camunda.bpm.model.bpmn.instance.SequenceFlow; import org.camunda.bpm.model.bpmn.instance.SequenceFlow;
import org.camunda.bpm.model.bpmn.instance.ServiceTask; import org.camunda.bpm.model.bpmn.instance.ServiceTask;
...@@ -62,6 +64,26 @@ public class MigrationService { ...@@ -62,6 +64,26 @@ public class MigrationService {
for(FlowChangeWrapper fcw : activityAddActionResults) { for(FlowChangeWrapper fcw : activityAddActionResults) {
System.out.println("+++ Neu: " + fcw.getFlowElement().getName() + " [" + fcw.getActionType() + "] in Flow " + fcw.getFlow().getName() System.out.println("+++ Neu: " + fcw.getFlowElement().getName() + " [" + fcw.getActionType() + "] in Flow " + fcw.getFlow().getName()
+ " mit Status: " + fcw.getMigrationResult().getPriority()); + " mit Status: " + fcw.getMigrationResult().getPriority());
try {
newDSL.getFlow(fcw.getFlow().getName()).setFlag(Flag.YELLOW);
/*
List<FlowElementReference> fers = newDSL.getFlow(fcw.getFlow().getName()).getInclElements();
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().replaceAll(fers);
*/
newDSL.serialize();
} catch (IOException e) {
//
}
} }
return migrationResultWrapper; return migrationResultWrapper;
......
...@@ -16,8 +16,8 @@ import { DeleteProjectComponent } from './components/delete-project/delete-proje ...@@ -16,8 +16,8 @@ import { DeleteProjectComponent } from './components/delete-project/delete-proje
import { LoopsComponent } from './components/loops/loops.component'; import { LoopsComponent } from './components/loops/loops.component';
import { LoopComponent } from './components/loop/loop.component'; import { LoopComponent } from './components/loop/loop.component';
import { UpdateProjectComponent } from './components/update-project/update-project.component'; import { UpdateProjectComponent } from './components/update-project/update-project.component';
import { MigrationOverviewComponent } from './migration-overview/migration-overview.component';
import { PrioritizationOverviewComponent } from './prioritization-overview/prioritization-overview.component'; import { PrioritizationOverviewComponent } from './prioritization-overview/prioritization-overview.component';
import { MigrationOverviewComponent } from './components/migration-overview/migration-overview.component';
const routes: Routes = [ const routes: Routes = [
......
...@@ -30,8 +30,8 @@ import { DeleteProjectComponent } from './components/delete-project/delete-proje ...@@ -30,8 +30,8 @@ import { DeleteProjectComponent } from './components/delete-project/delete-proje
import { LoopsComponent } from './components/loops/loops.component'; import { LoopsComponent } from './components/loops/loops.component';
import { LoopComponent } from './components/loop/loop.component'; import { LoopComponent } from './components/loop/loop.component';
import { UpdateProjectComponent } from './components/update-project/update-project.component'; import { UpdateProjectComponent } from './components/update-project/update-project.component';
import { MigrationOverviewComponent } from './migration-overview/migration-overview.component';
import { PrioritizationOverviewComponent } from './prioritization-overview/prioritization-overview.component'; import { PrioritizationOverviewComponent } from './prioritization-overview/prioritization-overview.component';
import { MigrationOverviewComponent } from './components/migration-overview/migration-overview.component';
@NgModule({ @NgModule({
declarations: [ declarations: [
......
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