summaryrefslogtreecommitdiffstats
path: root/src/test
diff options
context:
space:
mode:
authorTharre <tharre3@gmail.com>2018-06-20 22:07:36 +0200
committerTharre <tharre3@gmail.com>2018-06-20 22:07:36 +0200
commit0c995a05985da749d93aa56eba976c7fc621a4fa (patch)
tree5b80394920705aae5e2b6004c3dfbd839c8b8fa3 /src/test
parentf5bc7925a8fbbe247972a6f0e0571cc7e92fbefa (diff)
parente21feb3ac772a5394dc5381b58142c3c061de716 (diff)
downloadsepm-groupproject-df601f9f69a4412da6c6b57b201cb3ec03ea6f99.tar.gz
sepm-groupproject-df601f9f69a4412da6c6b57b201cb3ec03ea6f99.tar.xz
sepm-groupproject-df601f9f69a4412da6c6b57b201cb3ec03ea6f99.zip
Merge branch 'develop'HEADv3.0master
Diffstat (limited to 'src/test')
-rw-r--r--src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateNewEmployeeApplication.java53
-rw-r--r--src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateNewVehicleApplication.java51
-rw-r--r--src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/RegistrationWindowApplication.java53
-rw-r--r--src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/EmployeeServiceTestConfiguration.java17
-rw-r--r--src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/VehicleServiceTestConfiguration.java17
-rw-r--r--src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/CreateNewEmployeeControllerTest.java (renamed from src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateNewEmployeeControllerTest.java)18
-rw-r--r--src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/CreateNewVehicleControllerTest.java (renamed from src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateNewVehicleControllerTest.java)24
-rw-r--r--src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/GuiTestApplication.java101
-rw-r--r--src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/RegistrationControllerTest.java22
-rw-r--r--src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/EmployeeDAOTest.java (renamed from src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/EmployeeDAOTest.java)9
-rw-r--r--src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/OperationDAOTest.java (renamed from src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/OperationDAOTest.java)78
-rw-r--r--src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/RegistrationDAOTest.java (renamed from src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/RegistrationDAOTest.java)85
-rw-r--r--src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/VehicleDAOTest.java (renamed from src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/VehicleDAOTest.java)10
-rw-r--r--src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/EmployeeServiceTest.java (renamed from src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/EmployeeServiceTest.java)10
-rw-r--r--src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/OperationServiceIntegrationTest.java99
-rw-r--r--src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/OperationServiceTest.java (renamed from src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/OperationServiceTest.java)16
-rw-r--r--src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/RegistrationServiceIntegrationTest.java55
-rw-r--r--src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/RegistrationServiceTest.java (renamed from src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/RegistrationServiceTest.java)39
-rw-r--r--src/test/java/at/ac/tuwien/sepm/assignment/groupphase/util/HighDpiAwareApplicationTest.java2
-rw-r--r--src/test/java/at/ac/tuwien/sepm/assignment/groupphase/util/JdbcTestCase.java19
-rw-r--r--src/test/resources/operationDAOAddOperation.xml22
-rw-r--r--src/test/resources/operationDAOUpdateNormal.xml18
-rw-r--r--src/test/resources/operationDAOUpdateRemoveVehicles.xml12
-rw-r--r--src/test/resources/operationDAOUpdateSetup.xml14
-rw-r--r--src/test/resources/operationIntegrationVehicles.xml12
-rw-r--r--src/test/resources/registrationTestBaseData.xml18
26 files changed, 507 insertions, 367 deletions
diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateNewEmployeeApplication.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateNewEmployeeApplication.java
deleted file mode 100644
index e1b3714..0000000
--- a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateNewEmployeeApplication.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.controller;
-
-import at.ac.tuwien.sepm.assignment.groupphase.util.SpringFXMLLoader;
-import java.lang.invoke.MethodHandles;
-import javafx.application.Application;
-import javafx.scene.Parent;
-import javafx.scene.Scene;
-import javafx.stage.Stage;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.context.annotation.AnnotationConfigApplicationContext;
-import org.springframework.context.annotation.ComponentScan;
-import org.springframework.stereotype.Component;
-
-@Component
-@ComponentScan("at.ac.tuwien.sepm.assignment.groupphase")
-public final class CreateNewEmployeeApplication extends Application {
-
- private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
-
- public static AnnotationConfigApplicationContext context;
-
- @Override
- public void start(Stage primaryStage) throws Exception {
- // setup application
- primaryStage.setTitle("Person anlegen");
- primaryStage.setWidth(1366);
- primaryStage.setHeight(768);
- primaryStage.centerOnScreen();
- primaryStage.setOnCloseRequest(event -> LOG.debug("Application shutdown initiated"));
-
- context = new AnnotationConfigApplicationContext(CreateNewEmployeeApplication.class);
- final var fxmlLoader = context.getBean(SpringFXMLLoader.class);
- primaryStage.setScene(
- new Scene(
- (Parent)
- fxmlLoader.load(
- getClass()
- .getResourceAsStream(
- "/fxml/createNewEmployee.fxml"))));
-
- // show application
- primaryStage.show();
- primaryStage.toFront();
- LOG.debug("Application startup complete");
- }
-
- @Override
- public void stop() {
- LOG.debug("Stopping application");
- context.close();
- }
-}
diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateNewVehicleApplication.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateNewVehicleApplication.java
deleted file mode 100644
index ff46938..0000000
--- a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateNewVehicleApplication.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.controller;
-
-import at.ac.tuwien.sepm.assignment.groupphase.util.SpringFXMLLoader;
-import java.lang.invoke.MethodHandles;
-import javafx.application.Application;
-import javafx.scene.Parent;
-import javafx.scene.Scene;
-import javafx.stage.Stage;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.context.annotation.AnnotationConfigApplicationContext;
-import org.springframework.context.annotation.ComponentScan;
-import org.springframework.stereotype.Component;
-
-@Component
-@ComponentScan("at.ac.tuwien.sepm.assignment.groupphase")
-public class CreateNewVehicleApplication extends Application {
-
- private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
-
- public static AnnotationConfigApplicationContext context;
-
- @Override
- public void start(Stage primaryStage) throws Exception {
- // setup application
- primaryStage.setTitle("Fahrzeug anlegen");
- primaryStage.setWidth(1366);
- primaryStage.setHeight(768);
- primaryStage.centerOnScreen();
- primaryStage.setOnCloseRequest(event -> LOG.debug("Application shutdown initiated"));
-
- context = new AnnotationConfigApplicationContext(CreateNewVehicleApplication.class);
- final var fxmlLoader = context.getBean(SpringFXMLLoader.class);
- primaryStage.setScene(
- new Scene(
- (Parent)
- fxmlLoader.load(
- getClass().getResourceAsStream("/fxml/createCar.fxml"))));
-
- // show application
- primaryStage.show();
- primaryStage.toFront();
- LOG.debug("Application startup complete");
- }
-
- @Override
- public void stop() {
- LOG.debug("Stopping application");
- context.close();
- }
-}
diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/RegistrationWindowApplication.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/RegistrationWindowApplication.java
deleted file mode 100644
index 3293ae9..0000000
--- a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/RegistrationWindowApplication.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.controller;
-
-import at.ac.tuwien.sepm.assignment.groupphase.util.SpringFXMLLoader;
-import java.lang.invoke.MethodHandles;
-import javafx.application.Application;
-import javafx.scene.Parent;
-import javafx.scene.Scene;
-import javafx.stage.Stage;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.context.annotation.AnnotationConfigApplicationContext;
-import org.springframework.context.annotation.ComponentScan;
-import org.springframework.stereotype.Component;
-
-@Component
-@ComponentScan("at.ac.tuwien.sepm.assignment.groupphase")
-public class RegistrationWindowApplication extends Application {
-
- private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
-
- public static AnnotationConfigApplicationContext context;
-
- @Override
- public void start(Stage primaryStage) throws Exception {
- // setup application
- primaryStage.setTitle("Person anlegen");
- // primaryStage.setWidth(1366);
- // primaryStage.setHeight(768);
- primaryStage.centerOnScreen();
- primaryStage.setOnCloseRequest(event -> LOG.debug("Application shutdown initiated"));
-
- context = new AnnotationConfigApplicationContext(RegistrationWindowApplication.class);
- final var fxmlLoader = context.getBean(SpringFXMLLoader.class);
- primaryStage.setScene(
- new Scene(
- (Parent)
- fxmlLoader.load(
- getClass()
- .getResourceAsStream(
- "/fxml/RegistrationWindow.fxml"))));
-
- // show application
- primaryStage.show();
- primaryStage.toFront();
- LOG.debug("Application startup complete");
- }
-
- @Override
- public void stop() {
- LOG.debug("Stopping application");
- context.close();
- }
-}
diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/EmployeeServiceTestConfiguration.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/EmployeeServiceTestConfiguration.java
deleted file mode 100644
index 6bf2275..0000000
--- a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/EmployeeServiceTestConfiguration.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service;
-
-import static org.mockito.Mockito.mock;
-
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Primary;
-
-@Configuration
-public class EmployeeServiceTestConfiguration {
-
- @Bean
- @Primary
- public EmployeeService employeeService() {
- return mock(EmployeeServiceImpl.class);
- }
-}
diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/VehicleServiceTestConfiguration.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/VehicleServiceTestConfiguration.java
deleted file mode 100644
index 895973a..0000000
--- a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/VehicleServiceTestConfiguration.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service;
-
-import static org.mockito.Mockito.mock;
-
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Primary;
-
-@Configuration
-public class VehicleServiceTestConfiguration {
-
- @Bean
- @Primary
- public VehicleService vehicleService() {
- return mock(VehicleServiceImpl.class);
- }
-}
diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateNewEmployeeControllerTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/CreateNewEmployeeControllerTest.java
index 7f95950..ccd37b4 100644
--- a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateNewEmployeeControllerTest.java
+++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/CreateNewEmployeeControllerTest.java
@@ -1,11 +1,14 @@
-package at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.controller;
+package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.controller;
+import static at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.controller.Helper.ALERT_TITLE_SERVICE_EXCEPTION;
+import static at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.controller.Helper.ALERT_TITLE_SUCCESS;
+import static at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.controller.Helper.ALERT_TITLE_VALIDATION_ERROR;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.when;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service.EmployeeService;
import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidEmployeeException;
import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service.EmployeeService;
import at.ac.tuwien.sepm.assignment.groupphase.util.Helper;
import at.ac.tuwien.sepm.assignment.groupphase.util.HighDpiAwareApplicationTest;
import javafx.scene.control.DialogPane;
@@ -24,10 +27,9 @@ public class CreateNewEmployeeControllerTest extends HighDpiAwareApplicationTest
@Before
public void setup() throws Exception {
- // TODO: check if testfx can be run in headless mode on Jenkins
FxToolkit.registerPrimaryStage();
- FxToolkit.setupApplication(CreateNewEmployeeApplication.class);
- employeeService = CreateNewEmployeeApplication.context.getBean(EmployeeService.class);
+ FxToolkit.setupApplication(GuiTestApplication.class, "createNewEmployee.fxml");
+ employeeService = GuiTestApplication.context.getBean(EmployeeService.class);
}
@After
@@ -48,7 +50,7 @@ public class CreateNewEmployeeControllerTest extends HighDpiAwareApplicationTest
Assert.assertNotNull(alertDialog);
DialogPane dialogPane = (DialogPane) alertDialog.getScene().getRoot();
- Assert.assertEquals("Erfolgreich angelegt", dialogPane.getHeaderText());
+ Assert.assertEquals(ALERT_TITLE_SUCCESS, dialogPane.getHeaderText());
}
@Test
@@ -63,7 +65,7 @@ public class CreateNewEmployeeControllerTest extends HighDpiAwareApplicationTest
Assert.assertNotNull(alertDialog);
DialogPane dialogPane = (DialogPane) alertDialog.getScene().getRoot();
- Assert.assertEquals("Ungültige Eingabe", dialogPane.getHeaderText());
+ Assert.assertEquals(ALERT_TITLE_VALIDATION_ERROR, dialogPane.getHeaderText());
}
@Test
@@ -80,6 +82,6 @@ public class CreateNewEmployeeControllerTest extends HighDpiAwareApplicationTest
Assert.assertNotNull(alertDialog);
DialogPane dialogPane = (DialogPane) alertDialog.getScene().getRoot();
- Assert.assertEquals("Speicherfehler", dialogPane.getHeaderText());
+ Assert.assertEquals(ALERT_TITLE_SERVICE_EXCEPTION, dialogPane.getHeaderText());
}
}
diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateNewVehicleControllerTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/CreateNewVehicleControllerTest.java
index 08e3fde..4906d64 100644
--- a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateNewVehicleControllerTest.java
+++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/CreateNewVehicleControllerTest.java
@@ -1,11 +1,14 @@
-package at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.controller;
+package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.controller;
+import static at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.controller.Helper.ALERT_TITLE_SERVICE_EXCEPTION;
+import static at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.controller.Helper.ALERT_TITLE_SUCCESS;
+import static at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.controller.Helper.ALERT_TITLE_VALIDATION_ERROR;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.when;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service.VehicleService;
import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidVehicleException;
import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service.VehicleService;
import at.ac.tuwien.sepm.assignment.groupphase.util.Helper;
import at.ac.tuwien.sepm.assignment.groupphase.util.HighDpiAwareApplicationTest;
import javafx.scene.control.DialogPane;
@@ -24,10 +27,9 @@ public class CreateNewVehicleControllerTest extends HighDpiAwareApplicationTest
@Before
public void setup() throws Exception {
- // TODO: check if testfx can be run in headless mode on Jenkins
FxToolkit.registerPrimaryStage();
- FxToolkit.setupApplication(CreateNewVehicleApplication.class);
- vehicleService = CreateNewVehicleApplication.context.getBean(VehicleService.class);
+ FxToolkit.setupApplication(GuiTestApplication.class, "createCar.fxml");
+ vehicleService = GuiTestApplication.context.getBean(VehicleService.class);
}
@After
@@ -40,13 +42,13 @@ public class CreateNewVehicleControllerTest extends HighDpiAwareApplicationTest
when(vehicleService.add(any())).thenReturn(1L);
- clickOn("#btn_create", Motion.DIRECT, MouseButton.PRIMARY);
+ clickOn("#btnCreate", Motion.DIRECT, MouseButton.PRIMARY);
Stage alertDialog = Helper.getTopModalStage(robotContext());
Assert.assertNotNull(alertDialog);
DialogPane dialogPane = (DialogPane) alertDialog.getScene().getRoot();
- Assert.assertEquals("Speichern Erfolgreich", dialogPane.getHeaderText());
+ Assert.assertEquals(ALERT_TITLE_SUCCESS, dialogPane.getHeaderText());
}
@Test
@@ -54,13 +56,13 @@ public class CreateNewVehicleControllerTest extends HighDpiAwareApplicationTest
when(vehicleService.add(any())).thenThrow(InvalidVehicleException.class);
- clickOn("#btn_create", Motion.DIRECT, MouseButton.PRIMARY);
+ clickOn("#btnCreate", Motion.DIRECT, MouseButton.PRIMARY);
Stage alertDialog = Helper.getTopModalStage(robotContext());
Assert.assertNotNull(alertDialog);
DialogPane dialogPane = (DialogPane) alertDialog.getScene().getRoot();
- Assert.assertEquals("Ungültige Eingabe", dialogPane.getHeaderText());
+ Assert.assertEquals(ALERT_TITLE_VALIDATION_ERROR, dialogPane.getHeaderText());
}
@Test
@@ -68,12 +70,12 @@ public class CreateNewVehicleControllerTest extends HighDpiAwareApplicationTest
when(vehicleService.add(any())).thenThrow(ServiceException.class);
- clickOn("#btn_create", Motion.DIRECT, MouseButton.PRIMARY);
+ clickOn("#btnCreate", Motion.DIRECT, MouseButton.PRIMARY);
Stage alertDialog = Helper.getTopModalStage(robotContext());
Assert.assertNotNull(alertDialog);
DialogPane dialogPane = (DialogPane) alertDialog.getScene().getRoot();
- Assert.assertEquals("Fehler", dialogPane.getHeaderText());
+ Assert.assertEquals(ALERT_TITLE_SERVICE_EXCEPTION, dialogPane.getHeaderText());
}
}
diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/GuiTestApplication.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/GuiTestApplication.java
new file mode 100644
index 0000000..968141e
--- /dev/null
+++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/GuiTestApplication.java
@@ -0,0 +1,101 @@
+package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.controller;
+
+import static org.mockito.Mockito.mock;
+
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service.EmployeeService;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service.EmployeeServiceImpl;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service.OperationService;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service.OperationServiceImpl;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service.RegistrationService;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service.RegistrationServiceImpl;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service.VehicleService;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service.VehicleServiceImpl;
+import at.ac.tuwien.sepm.assignment.groupphase.util.SpringFXMLLoader;
+import java.lang.invoke.MethodHandles;
+import javafx.application.Application;
+import javafx.scene.Parent;
+import javafx.scene.Scene;
+import javafx.stage.Stage;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.context.annotation.AnnotationConfigApplicationContext;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Primary;
+import org.springframework.stereotype.Component;
+
+@Component
+@ComponentScan("at.ac.tuwien.sepm.assignment.groupphase")
+public class GuiTestApplication extends Application {
+
+ private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
+
+ public static AnnotationConfigApplicationContext context;
+
+ @Configuration
+ public static class ContextConfiguration {
+
+ @Bean
+ @Primary
+ public EmployeeService employeeService() {
+ return mock(EmployeeServiceImpl.class);
+ }
+
+ @Bean
+ @Primary
+ public VehicleService vehicleService() {
+ return mock(VehicleServiceImpl.class);
+ }
+
+ @Bean
+ @Primary
+ public OperationService operationService() {
+ return mock(OperationServiceImpl.class);
+ }
+
+ @Bean
+ @Primary
+ public RegistrationService registrationService() {
+ return mock(RegistrationServiceImpl.class);
+ }
+ }
+
+ @Override
+ public void start(Stage primaryStage) throws Exception {
+ // setup application
+ primaryStage.setTitle("Test window");
+ primaryStage.setWidth(1366);
+ primaryStage.setHeight(768);
+ primaryStage.centerOnScreen();
+ primaryStage.setOnCloseRequest(event -> LOG.debug("Application shutdown initiated"));
+
+ if (getParameters().getRaw().size() < 1) {
+ throw new UnsupportedOperationException("FXML file not set");
+ }
+
+ context = new AnnotationConfigApplicationContext(GuiTestApplication.class);
+ final var fxmlLoader = context.getBean(SpringFXMLLoader.class);
+ primaryStage.setScene(
+ new Scene(
+ (Parent)
+ fxmlLoader.load(
+ getClass()
+ .getResourceAsStream(
+ "/fxml/"
+ + getParameters()
+ .getRaw()
+ .get(0)))));
+
+ // show application
+ primaryStage.show();
+ primaryStage.toFront();
+ LOG.debug("Application startup complete");
+ }
+
+ @Override
+ public void stop() {
+ LOG.debug("Stopping application");
+ context.close();
+ }
+}
diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/RegistrationControllerTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/RegistrationControllerTest.java
new file mode 100644
index 0000000..97fb0e7
--- /dev/null
+++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/RegistrationControllerTest.java
@@ -0,0 +1,22 @@
+package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.controller;
+
+import at.ac.tuwien.sepm.assignment.groupphase.util.HighDpiAwareApplicationTest;
+import org.junit.After;
+import org.junit.Before;
+import org.testfx.api.FxToolkit;
+
+public class RegistrationControllerTest extends HighDpiAwareApplicationTest {
+
+ @Before
+ public void setup() throws Exception {
+ FxToolkit.registerPrimaryStage();
+ FxToolkit.setupApplication(GuiTestApplication.class, "RegistrationWindow.fxml");
+ }
+
+ @After
+ public void cleanup() throws Exception {
+ FxToolkit.cleanupStages();
+ }
+
+ // TODO: implement GUI Tests
+}
diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/EmployeeDAOTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/EmployeeDAOTest.java
index 585e5ea..008ac57 100644
--- a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/EmployeeDAOTest.java
+++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/EmployeeDAOTest.java
@@ -1,9 +1,9 @@
-package at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dao;
+package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Employee;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Employee.EducationLevel;
import at.ac.tuwien.sepm.assignment.groupphase.exception.ElementNotFoundException;
import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Employee;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Employee.EducationLevel;
import at.ac.tuwien.sepm.assignment.groupphase.util.Helper;
import at.ac.tuwien.sepm.assignment.groupphase.util.JdbcTestCase;
import java.io.InputStream;
@@ -23,7 +23,7 @@ public class EmployeeDAOTest extends JdbcTestCase {
private EmployeeDAO employeePersistence;
- public EmployeeDAOTest() throws PersistenceException {
+ public EmployeeDAOTest() {
employeePersistence = new EmployeeDatabaseDAO(getJdbcConnectionManager());
}
@@ -40,7 +40,6 @@ public class EmployeeDAOTest extends JdbcTestCase {
public void testListEmployees() throws PersistenceException {
Set<Employee> employees = employeePersistence.list();
- System.out.println(LocalDate.parse("2010-10-10"));
Employee empOne =
Employee.builder()
.id(1)
diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/OperationDAOTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/OperationDAOTest.java
index f173376..d9e7fb7 100644
--- a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/OperationDAOTest.java
+++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/OperationDAOTest.java
@@ -1,21 +1,26 @@
-package at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dao;
-
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Operation;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Operation.Severity;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Operation.Status;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle.ConstructionType;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle.VehicleType;
+package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao;
+
+import static org.junit.Assert.assertEquals;
+
import at.ac.tuwien.sepm.assignment.groupphase.exception.ElementNotFoundException;
import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Operation;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Operation.Severity;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Operation.Status;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle.ConstructionType;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle.VehicleType;
import at.ac.tuwien.sepm.assignment.groupphase.util.JdbcTestCase;
import java.time.Instant;
import java.util.Arrays;
import java.util.Collections;
import java.util.EnumSet;
+import java.util.LinkedList;
import java.util.Set;
+import java.util.TimeZone;
import org.dbunit.dataset.DataSetException;
import org.dbunit.dataset.IDataSet;
+import org.junit.BeforeClass;
import org.junit.Test;
public class OperationDAOTest extends JdbcTestCase {
@@ -27,6 +32,8 @@ public class OperationDAOTest extends JdbcTestCase {
private final Operation o;
+ private final Operation originalOperation;
+
public OperationDAOTest() throws PersistenceException {
// TODO: fix once everything properly uses dependency injection
EmployeeDAO employeeDAO = new EmployeeDatabaseDAO(getJdbcConnectionManager());
@@ -34,7 +41,9 @@ public class OperationDAOTest extends JdbcTestCase {
new RegistrationDatabaseDAO(getJdbcConnectionManager(), employeeDAO);
VehicleDAO vehicleDAO =
new VehicleDatabaseDAO(getJdbcConnectionManager(), registrationDatabaseDAO);
- this.operationDAO = new OperationDatabaseDAO(getJdbcConnectionManager(), vehicleDAO);
+ this.operationDAO =
+ new OperationDatabaseDAO(
+ getJdbcConnectionManager(), vehicleDAO, registrationDatabaseDAO);
Vehicle v1 =
Vehicle.builder()
@@ -56,10 +65,38 @@ public class OperationDAOTest extends JdbcTestCase {
.severity(Severity.B)
.status(Status.ACTIVE)
.vehicles(Set.of(v1, v2, v3))
- .created(Instant.now())
- .destination("New description")
- .additionalInfo("Test")
+ .created(Instant.ofEpochSecond(1514764800)) // 2018-01-01 00:00:00.0
+ .destination("New destination")
+ .additionalInfo("New information")
.build();
+
+ Vehicle vehicle =
+ Vehicle.builder()
+ .id(4)
+ .name("BKTW-4")
+ .constructionType(ConstructionType.HOCHDACH)
+ .type(VehicleType.BKTW)
+ .hasNef(false)
+ .status(Vehicle.Status.ZUM_BERUFUNGSORT)
+ .registrations(new LinkedList<>())
+ .build();
+
+ originalOperation =
+ Operation.builder()
+ .id(1)
+ .opCode("ALP-95E7")
+ .severity(Severity.E)
+ .created(Instant.parse("2000-01-01T00:00:00.0Z"))
+ .destination("Wiedner Hauptstraße 35, Wien")
+ .additionalInfo("Additional information")
+ .status(Status.ACTIVE)
+ .vehicles(Set.of(vehicle))
+ .build();
+ }
+
+ @BeforeClass
+ public static void before() {
+ TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
}
@Override
@@ -94,16 +131,21 @@ public class OperationDAOTest extends JdbcTestCase {
public void testListOperations() throws Exception {
Set<Operation> operationSet = operationDAO.list(EnumSet.allOf(Status.class));
- // TODO: operations.list() currently doesn't set the vehicles set
- // assertEquals(Set.of(o), operationSet);
+ assertEquals(Set.of(originalOperation), operationSet);
}
@Test
- public void testAddOperation() throws Exception {
- operationDAO.add(o);
+ public void testGetOperations() throws Exception {
+ Operation gotOperation = operationDAO.get(originalOperation.id());
+
+ assertEquals(originalOperation, gotOperation);
+ }
- // TODO: won't work because id won't match
- // compareWith("operationDAOUpdateNormal.xml", COMPARE_TABLES);
+ @Test
+ public void testAddOperation() throws Exception {
+ long id = operationDAO.add(o);
+ assertEquals(2, id);
+ compareWith("operationDAOAddOperation.xml", COMPARE_TABLES);
}
@Test(expected = PersistenceException.class)
diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/RegistrationDAOTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/RegistrationDAOTest.java
index e8ea809..2cb54f8 100644
--- a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/RegistrationDAOTest.java
+++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/RegistrationDAOTest.java
@@ -1,82 +1,35 @@
-package at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dao;
+package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao;
import static org.junit.Assert.*;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Employee;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Employee.EducationLevel;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Registration;
import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException;
-import at.ac.tuwien.sepm.assignment.groupphase.util.JDBCConnectionManager;
-import java.nio.charset.Charset;
-import java.sql.SQLException;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Employee;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Employee.EducationLevel;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Registration;
+import at.ac.tuwien.sepm.assignment.groupphase.util.JdbcTestCase;
import java.time.Instant;
import java.time.LocalDate;
import java.util.HashSet;
import java.util.Set;
-import org.h2.tools.RunScript;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
+import org.dbunit.dataset.IDataSet;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
-public class RegistrationDAOTest {
-
- // Base taken from EmployeeDAOTest
-
- private static final String JDBC_DRIVER = org.h2.Driver.class.getName();
- private static final String JDBC_URL = "jdbc:h2:mem:test;DB_CLOSE_DELAY=-1";
- private static final String USER = "";
- private static final String PASSWORD = "";
+public class RegistrationDAOTest extends JdbcTestCase {
private RegistrationDAO registrationDAO;
public RegistrationDAOTest() throws PersistenceException {
- JDBCConnectionManager jdbcConnectionManager = new JDBCConnectionManager(JDBC_URL);
this.registrationDAO =
new RegistrationDatabaseDAO(
- jdbcConnectionManager, new EmployeeDatabaseDAO(jdbcConnectionManager));
- // TODO: Use Spring Dependency Injection here!
+ getJdbcConnectionManager(),
+ new EmployeeDatabaseDAO(getJdbcConnectionManager()));
}
- @BeforeClass
- public static void setupDatabase() throws SQLException {
- RunScript.execute(
- JDBC_URL,
- USER,
- PASSWORD,
- "classpath:sql/database.sql",
- Charset.forName("UTF8"),
- false);
- RunScript.execute(
- JDBC_URL,
- USER,
- PASSWORD,
- "classpath:sql/H2RegistrationDAOTest_populate.sql",
- Charset.forName("UTF8"),
- false);
- }
- /*
- @Before
- public void setUp() throws SQLException {
- RunScript.execute(
- JDBC_URL,
- USER,
- PASSWORD,
- "classpath:sql/H2RegistrationDAOTest_populate.sql",
- Charset.forName("UTF8"),
- false);
- }
- */
- @AfterClass
- public static void tearDown() throws SQLException {
- RunScript.execute(
- JDBC_URL,
- USER,
- PASSWORD,
- "classpath:sql/H2RegistrationDAOTest_depopulate.sql",
- Charset.forName("UTF8"),
- false);
+ @Override
+ protected IDataSet getDataSet() throws Exception {
+ return getDataSet("registrationTestBaseData.xml");
}
@Rule public ExpectedException thrown = ExpectedException.none();
@@ -84,16 +37,6 @@ public class RegistrationDAOTest {
@Test
public void addRegistrationsShouldSucceed() throws PersistenceException {
Set<Registration> registrations = new HashSet<>();
- /*
- Vehicle vehicle = Vehicle.builder()
- .id(1)
- .name("RTW-1")
- .constructionType(ConstructionType.HOCHDACH)
- .type(VehicleType.RTW)
- .status(Status.ABGEMELDET)
- .hasNef(true)
- .build();
- */
Employee employee1 =
Employee.builder()
.id(1)
@@ -162,8 +105,8 @@ public class RegistrationDAOTest {
.build();
Registration registration =
Registration.builder()
- .start(Instant.MIN)
- .end(Instant.MAX)
+ .start(Instant.now())
+ .end(Instant.now())
.employee(employee)
.build();
registrations.add(registration);
diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/VehicleDAOTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/VehicleDAOTest.java
index 1862214..c4d7d86 100644
--- a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/VehicleDAOTest.java
+++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/VehicleDAOTest.java
@@ -1,11 +1,11 @@
-package at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dao;
+package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle.ConstructionType;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle.Status;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle.VehicleType;
import at.ac.tuwien.sepm.assignment.groupphase.exception.ElementNotFoundException;
import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle.ConstructionType;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle.Status;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle.VehicleType;
import at.ac.tuwien.sepm.assignment.groupphase.util.Helper;
import at.ac.tuwien.sepm.assignment.groupphase.util.JdbcTestCase;
import java.io.InputStream;
diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/EmployeeServiceTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/EmployeeServiceTest.java
index 90f0a44..17c0a47 100644
--- a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/EmployeeServiceTest.java
+++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/EmployeeServiceTest.java
@@ -1,4 +1,4 @@
-package at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service;
+package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service;
import static org.hamcrest.CoreMatchers.is;
import static org.mockito.ArgumentMatchers.any;
@@ -6,14 +6,14 @@ import static org.mockito.Mockito.doThrow;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dao.EmployeeDAO;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dao.EmployeeDatabaseDAO;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Employee;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Employee.EducationLevel;
import at.ac.tuwien.sepm.assignment.groupphase.exception.ElementNotFoundException;
import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidEmployeeException;
import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException;
import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.EmployeeDAO;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.EmployeeDatabaseDAO;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Employee;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Employee.EducationLevel;
import java.time.LocalDate;
import org.junit.Assert;
import org.junit.Test;
diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/OperationServiceIntegrationTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/OperationServiceIntegrationTest.java
new file mode 100644
index 0000000..008787f
--- /dev/null
+++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/OperationServiceIntegrationTest.java
@@ -0,0 +1,99 @@
+package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service;
+
+import static org.junit.Assert.assertEquals;
+
+import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidOperationException;
+import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.EmployeeDAO;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.EmployeeDatabaseDAO;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.OperationDAO;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.OperationDatabaseDAO;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.RegistrationDAO;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.RegistrationDatabaseDAO;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.VehicleDAO;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.VehicleDatabaseDAO;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Operation;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Operation.Status;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle;
+import at.ac.tuwien.sepm.assignment.groupphase.util.Helper;
+import at.ac.tuwien.sepm.assignment.groupphase.util.JdbcTestCase;
+import java.util.Set;
+import org.dbunit.Assertion;
+import org.dbunit.dataset.IDataSet;
+import org.dbunit.dataset.ITable;
+import org.junit.Test;
+
+public class OperationServiceIntegrationTest extends JdbcTestCase {
+
+ private OperationService operationService;
+
+ private Operation o;
+
+ public OperationServiceIntegrationTest() {
+ EmployeeDAO employeeDAO = new EmployeeDatabaseDAO(getJdbcConnectionManager());
+ RegistrationDAO registrationDAO =
+ new RegistrationDatabaseDAO(getJdbcConnectionManager(), employeeDAO);
+ VehicleDAO vehicleDAO =
+ new VehicleDatabaseDAO(
+ getJdbcConnectionManager(), (RegistrationDatabaseDAO) registrationDAO);
+ OperationDAO operationDAO =
+ new OperationDatabaseDAO(
+ getJdbcConnectionManager(),
+ vehicleDAO,
+ (RegistrationDatabaseDAO) registrationDAO);
+
+ VehicleService vehicleService = new VehicleServiceImpl(vehicleDAO);
+
+ operationService = new OperationServiceImpl(operationDAO, vehicleDAO, vehicleService);
+
+ Vehicle v1 =
+ Vehicle.builder()
+ .id(1)
+ .name("RTW-1")
+ .constructionType(Vehicle.ConstructionType.HOCHDACH)
+ .type(Vehicle.VehicleType.RTW)
+ .status(Vehicle.Status.FREI_FUNK)
+ .hasNef(true)
+ .build();
+
+ Vehicle v2 = v1.toBuilder().id(2).build();
+ Vehicle v3 = v1.toBuilder().id(3).build();
+
+ o =
+ Operation.builder()
+ .opCode("RD-2B0M")
+ .status(Status.ACTIVE)
+ .vehicles(Set.of(v1, v2, v3))
+ .destination("New destination")
+ .additionalInfo("New information")
+ .build();
+ }
+
+ @Override
+ protected IDataSet getDataSet() throws Exception {
+ return getDataSet("operationDAOUpdateSetup.xml");
+ }
+
+ @Test
+ public void addValidOperation() throws Exception {
+
+ long id = operationService.add(o);
+ assertEquals(2, id);
+
+ String tableName = "Operation";
+ String[] excludedColumns = new String[] {"created"};
+
+ ITable actual =
+ Helper.getActualFilteredTableData(getConnection(), tableName, excludedColumns);
+ ITable expected =
+ Helper.getExpectedFilteredTableData(
+ tableName, excludedColumns, "operationDAOAddOperation.xml");
+
+ Assertion.assertEquals(expected, actual);
+ }
+
+ @Test(expected = InvalidOperationException.class)
+ public void addInvalidOperation() throws InvalidOperationException, ServiceException {
+ operationService.add(o.toBuilder().opCode("").build());
+ }
+}
diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/OperationServiceTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/OperationServiceTest.java
index 67fb77d..4c1eaf1 100644
--- a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/OperationServiceTest.java
+++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/OperationServiceTest.java
@@ -1,4 +1,4 @@
-package at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service;
+package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyLong;
@@ -6,16 +6,16 @@ import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dao.OperationDAO;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dao.VehicleDAO;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Operation;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Operation.Severity;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Operation.Status;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle.ConstructionType;
import at.ac.tuwien.sepm.assignment.groupphase.exception.ElementNotFoundException;
import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidOperationException;
import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidVehicleException;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.OperationDAO;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.VehicleDAO;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Operation;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Operation.Severity;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Operation.Status;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle.ConstructionType;
import java.time.Instant;
import java.util.Collections;
import java.util.Set;
diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/RegistrationServiceIntegrationTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/RegistrationServiceIntegrationTest.java
new file mode 100644
index 0000000..ac5c3fb
--- /dev/null
+++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/RegistrationServiceIntegrationTest.java
@@ -0,0 +1,55 @@
+package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service;
+
+import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidRegistrationException;
+import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidVehicleException;
+import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException;
+import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.EmployeeDAO;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.EmployeeDatabaseDAO;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.RegistrationDAO;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.RegistrationDatabaseDAO;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.VehicleDAO;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.VehicleDatabaseDAO;
+import at.ac.tuwien.sepm.assignment.groupphase.util.JdbcTestCase;
+import org.dbunit.dataset.IDataSet;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.ExpectedException;
+
+public class RegistrationServiceIntegrationTest extends JdbcTestCase {
+
+ private RegistrationDAO registrationDAO;
+ private VehicleDAO vehicleDAO;
+
+ @Rule public ExpectedException thrown = ExpectedException.none();
+
+ @Override
+ protected IDataSet getDataSet() throws Exception {
+ return getDataSet("registrationTestBaseData.xml");
+ }
+
+ @Before
+ public void prepare() throws PersistenceException {
+
+ EmployeeDAO employeeDAO = new EmployeeDatabaseDAO(getJdbcConnectionManager());
+ registrationDAO = new RegistrationDatabaseDAO(getJdbcConnectionManager(), employeeDAO);
+ vehicleDAO =
+ new VehicleDatabaseDAO(
+ getJdbcConnectionManager(), (RegistrationDatabaseDAO) registrationDAO);
+ }
+
+ @Test
+ public void addValidRegistrationsShouldSucceed()
+ throws InvalidRegistrationException, ServiceException, InvalidVehicleException {
+ RegistrationServiceTest.addValidRegistrations(registrationDAO, vehicleDAO);
+ }
+
+ @Test
+ public void addOnlyOnePersonToRTWShouldFail()
+ throws InvalidRegistrationException, ServiceException, InvalidVehicleException {
+ RegistrationServiceTest.addOnlyOnePersonToRTW(thrown, registrationDAO, vehicleDAO);
+ }
+
+ // TODO: also test real integration, e.g. add registration and delete afterwards (feedback)
+}
diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/RegistrationServiceTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/RegistrationServiceTest.java
index 4d3a251..b4bcff4 100644
--- a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/RegistrationServiceTest.java
+++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/service/RegistrationServiceTest.java
@@ -1,23 +1,23 @@
-package at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service;
+package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service;
import static org.mockito.ArgumentMatchers.anyLong;
import static org.mockito.Mockito.when;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dao.RegistrationDAO;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dao.VehicleDAO;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Employee;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Employee.EducationLevel;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Registration;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle.Builder;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle.ConstructionType;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle.Status;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle.VehicleType;
import at.ac.tuwien.sepm.assignment.groupphase.exception.ElementNotFoundException;
import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidRegistrationException;
import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidVehicleException;
import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException;
import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.RegistrationDAO;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao.VehicleDAO;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Employee;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Employee.EducationLevel;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Registration;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle.Builder;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle.ConstructionType;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle.Status;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle.VehicleType;
import java.time.Instant;
import java.time.LocalDate;
import java.time.temporal.ChronoUnit;
@@ -58,6 +58,17 @@ public class RegistrationServiceTest {
@Test
public void addValidRegistrationsShouldSucceed()
throws InvalidRegistrationException, ServiceException, InvalidVehicleException {
+ addValidRegistrations(registrationDAO, vehicleDAO);
+ }
+
+ @Test
+ public void addOnlyOnePersonToRTWShouldFail()
+ throws InvalidRegistrationException, ServiceException, InvalidVehicleException {
+ addOnlyOnePersonToRTW(thrown, registrationDAO, vehicleDAO);
+ }
+
+ static void addValidRegistrations(RegistrationDAO registrationDAO, VehicleDAO vehicleDAO)
+ throws InvalidVehicleException, InvalidRegistrationException, ServiceException {
RegistrationService registrationService =
new RegistrationServiceImpl(registrationDAO, vehicleDAO);
Set<Registration> registrations = new HashSet<>();
@@ -111,9 +122,9 @@ public class RegistrationServiceTest {
registrationService.add(vehicle.id(), registrations);
}
- @Test
- public void addOnlyOnePersonToRTWShouldFail()
- throws InvalidRegistrationException, ServiceException, InvalidVehicleException {
+ static void addOnlyOnePersonToRTW(
+ ExpectedException thrown, RegistrationDAO registrationDAO, VehicleDAO vehicleDAO)
+ throws InvalidVehicleException, InvalidRegistrationException, ServiceException {
thrown.expect(InvalidRegistrationException.class);
RegistrationService registrationService =
new RegistrationServiceImpl(registrationDAO, vehicleDAO);
diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/util/HighDpiAwareApplicationTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/util/HighDpiAwareApplicationTest.java
index c9816a1..2924b3f 100644
--- a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/util/HighDpiAwareApplicationTest.java
+++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/util/HighDpiAwareApplicationTest.java
@@ -7,7 +7,7 @@ import org.testfx.framework.junit.ApplicationTest;
import org.testfx.service.locator.impl.BoundsLocatorImpl;
import org.testfx.service.locator.impl.PointLocatorImpl;
-public class HighDpiAwareApplicationTest extends ApplicationTest {
+public abstract class HighDpiAwareApplicationTest extends ApplicationTest {
public HighDpiAwareApplicationTest() {
FxRobotContext context = robotContext();
diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/util/JdbcTestCase.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/util/JdbcTestCase.java
index c509a1f..e419ab0 100644
--- a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/util/JdbcTestCase.java
+++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/util/JdbcTestCase.java
@@ -19,7 +19,7 @@ import org.dbunit.dataset.IDataSet;
import org.dbunit.dataset.datatype.DataType;
import org.dbunit.dataset.datatype.DataTypeException;
import org.dbunit.dataset.xml.FlatXmlDataSetBuilder;
-import org.dbunit.ext.postgresql.PostgresqlDataTypeFactory;
+import org.dbunit.ext.h2.H2DataTypeFactory;
import org.dbunit.operation.DatabaseOperation;
import org.junit.After;
import org.junit.Before;
@@ -96,13 +96,14 @@ public abstract class JdbcTestCase {
// override DBUnit's enum handling
private void setUpDatabaseConfig(DatabaseConfig config) {
- PostgresqlDataTypeFactory factory =
- new PostgresqlDataTypeFactory() {
- @Override
- public boolean isEnumType(String sqlTypeName) {
- if (sqlTypeName.equalsIgnoreCase("enum")) return true;
+ H2DataTypeFactory factory =
+ new H2DataTypeFactory() {
+ boolean isEnumType(String sqlTypeName) {
+ return sqlTypeName.equalsIgnoreCase("enum");
+ }
- return super.isEnumType(sqlTypeName);
+ boolean isTimestampWithTimeZoneType(String sqlTypeName) {
+ return sqlTypeName.equalsIgnoreCase("timestamp with time zone");
}
@Override
@@ -110,6 +111,8 @@ public abstract class JdbcTestCase {
throws DataTypeException {
if (isEnumType(sqlTypeName)) {
sqlType = Types.VARCHAR;
+ } else if (isTimestampWithTimeZoneType(sqlTypeName)) {
+ sqlType = Types.VARCHAR;
}
return super.createDataType(sqlType, sqlTypeName);
@@ -130,7 +133,7 @@ public abstract class JdbcTestCase {
IDataSet expected = new FlatXmlDataSetBuilder().build(res);
for (String table : tables) {
- assertEquals(actual.getTable(table), expected.getTable(table));
+ assertEquals(expected.getTable(table), actual.getTable(table));
}
}
diff --git a/src/test/resources/operationDAOAddOperation.xml b/src/test/resources/operationDAOAddOperation.xml
new file mode 100644
index 0000000..752de67
--- /dev/null
+++ b/src/test/resources/operationDAOAddOperation.xml
@@ -0,0 +1,22 @@
+<dataset>
+ <Operation id="1" opCode="ALP-95E7" severity="E" created="2000-01-01 00:00:00.0+00"
+ destination="Wiedner Hauptstraße 35, Wien" additionalInfo="Additional information" status="ACTIVE"/>
+ <Operation id="2" opCode="RD-2B0M" severity="B" created="2018-01-01 00:00:00.0+00"
+ destination="New destination" additionalInfo="New information" status="ACTIVE"/>
+
+ <VehicleVersion id="1" name="RTW-1" constructionType="HOCHDACH" type="RTW" hasNef="true"/>
+ <VehicleVersion id="2" name="KTW-2" constructionType="HOCHDACH" type="KTW" hasNef="true"/>
+ <VehicleVersion id="3" name="KTW-3" constructionType="MITTELHOCHDACH" type="KTW_B" hasNef="false"/>
+ <VehicleVersion id="4" name="BKTW-4" constructionType="HOCHDACH" type="BKTW" hasNef="false"/>
+ <VehicleVersion id="5" name="NEF-1" constructionType="NORMAL" type="NEF" hasNef="true"/>
+
+ <Vehicle id="1" version="1" status="ZUM_BERUFUNGSORT"/>
+ <Vehicle id="2" version="2" status="ZUM_BERUFUNGSORT"/>
+ <Vehicle id="3" version="3" status="ZUM_BERUFUNGSORT"/>
+ <Vehicle id="4" version="4" status="ZUM_BERUFUNGSORT"/>
+
+ <VehicleOperation vehicleId="1" operationId="2"/>
+ <VehicleOperation vehicleId="2" operationId="2"/>
+ <VehicleOperation vehicleId="3" operationId="2"/>
+ <VehicleOperation vehicleId="4" operationId="1"/>
+</dataset>
diff --git a/src/test/resources/operationDAOUpdateNormal.xml b/src/test/resources/operationDAOUpdateNormal.xml
index 025cdc2..accf97e 100644
--- a/src/test/resources/operationDAOUpdateNormal.xml
+++ b/src/test/resources/operationDAOUpdateNormal.xml
@@ -1,17 +1,17 @@
<dataset>
- <Operation id="1" opCode="RD-2B0M" severity="B" created="2000-01-01"
- destination="New description" status="ACTIVE" additionalInfo="Test"/>
+ <Operation id="1" opCode="RD-2B0M" severity="B" created="2000-01-01 00:00:00.0+00"
+ destination="New destination" additionalInfo="New information" status="ACTIVE"/>
<VehicleVersion id="1" name="RTW-1" constructionType="HOCHDACH" type="RTW" hasNef="true"/>
- <VehicleVersion id="2" name="KTW-1" constructionType="HOCHDACH" type="KTW" hasNef="true"/>
- <VehicleVersion id="3" name="KTW-2" constructionType="MITTELHOCHDACH" type="KTW_B" hasNef="false"/>
- <VehicleVersion id="4" name="BKTW-2" constructionType="HOCHDACH" type="BKTW" hasNef="false"/>
+ <VehicleVersion id="2" name="KTW-2" constructionType="HOCHDACH" type="KTW" hasNef="true"/>
+ <VehicleVersion id="3" name="KTW-3" constructionType="MITTELHOCHDACH" type="KTW_B" hasNef="false"/>
+ <VehicleVersion id="4" name="BKTW-4" constructionType="HOCHDACH" type="BKTW" hasNef="false"/>
<VehicleVersion id="5" name="NEF-1" constructionType="NORMAL" type="NEF" hasNef="true"/>
- <Vehicle id="1" version="1" status="FREI_FUNK"/>
- <Vehicle id="2" version="2" status="FREI_WACHE"/>
- <Vehicle id="3" version="3" status="FREI_FUNK"/>
- <Vehicle id="4" version="4" status="FREI_WACHE"/>
+ <Vehicle id="1" version="1" status="ZUM_BERUFUNGSORT"/>
+ <Vehicle id="2" version="2" status="ZUM_BERUFUNGSORT"/>
+ <Vehicle id="3" version="3" status="ZUM_BERUFUNGSORT"/>
+ <Vehicle id="4" version="4" status="ZUM_BERUFUNGSORT"/>
<VehicleOperation vehicleId="1" operationId="1"/>
<VehicleOperation vehicleId="2" operationId="1"/>
diff --git a/src/test/resources/operationDAOUpdateRemoveVehicles.xml b/src/test/resources/operationDAOUpdateRemoveVehicles.xml
index 6f171b4..a23f86c 100644
--- a/src/test/resources/operationDAOUpdateRemoveVehicles.xml
+++ b/src/test/resources/operationDAOUpdateRemoveVehicles.xml
@@ -1,17 +1,17 @@
<dataset>
- <Operation id="1" opCode="RD-2B0M" severity="B" created="2000-01-01"
- destination="New description" status="ACTIVE" additionalInfo="Test"/>
+ <Operation id="1" opCode="RD-2B0M" severity="B" created="2000-01-01 00:00:00.0+00"
+ destination="New destination" status="ACTIVE" additionalInfo="New information"/>
<VehicleVersion id="1" name="RTW-1" constructionType="HOCHDACH" type="RTW" hasNef="true"/>
- <VehicleVersion id="2" name="KTW-1" constructionType="HOCHDACH" type="KTW" hasNef="true"/>
- <VehicleVersion id="3" name="KTW-2" constructionType="MITTELHOCHDACH" type="KTW_B" hasNef="false"/>
- <VehicleVersion id="4" name="BKTW-2" constructionType="HOCHDACH" type="BKTW" hasNef="false"/>
+ <VehicleVersion id="2" name="KTW-2" constructionType="HOCHDACH" type="KTW" hasNef="true"/>
+ <VehicleVersion id="3" name="KTW-3" constructionType="MITTELHOCHDACH" type="KTW_B" hasNef="false"/>
+ <VehicleVersion id="4" name="BKTW-4" constructionType="HOCHDACH" type="BKTW" hasNef="false"/>
<VehicleVersion id="5" name="NEF-1" constructionType="NORMAL" type="NEF" hasNef="true"/>
<Vehicle id="1" version="1" status="FREI_FUNK"/>
<Vehicle id="2" version="2" status="FREI_WACHE"/>
<Vehicle id="3" version="3" status="FREI_FUNK"/>
- <Vehicle id="4" version="4" status="FREI_WACHE"/>
+ <Vehicle id="4" version="4" status="ZUM_BERUFUNGSORT"/>
<VehicleOperation />
</dataset>
diff --git a/src/test/resources/operationDAOUpdateSetup.xml b/src/test/resources/operationDAOUpdateSetup.xml
index 23d1a25..533e58e 100644
--- a/src/test/resources/operationDAOUpdateSetup.xml
+++ b/src/test/resources/operationDAOUpdateSetup.xml
@@ -1,17 +1,17 @@
<dataset>
- <Operation id="1" opCode="ALP-95E7" severity="E" created="2000-01-01"
- destination="Wiedner Hauptstraße 35, Wien" status="ACTIVE"/>
+ <Operation id="1" opCode="ALP-95E7" severity="E" created="2000-01-01 00:00:00.0+00"
+ destination="Wiedner Hauptstraße 35, Wien" additionalInfo="Additional information" status="ACTIVE"/>
<VehicleVersion id="1" name="RTW-1" constructionType="HOCHDACH" type="RTW" hasNef="true"/>
- <VehicleVersion id="2" name="KTW-1" constructionType="HOCHDACH" type="KTW" hasNef="true"/>
- <VehicleVersion id="3" name="KTW-2" constructionType="MITTELHOCHDACH" type="KTW_B" hasNef="false"/>
- <VehicleVersion id="4" name="BKTW-2" constructionType="HOCHDACH" type="BKTW" hasNef="false"/>
+ <VehicleVersion id="2" name="KTW-2" constructionType="HOCHDACH" type="KTW" hasNef="true"/>
+ <VehicleVersion id="3" name="KTW-3" constructionType="MITTELHOCHDACH" type="KTW_B" hasNef="false"/>
+ <VehicleVersion id="4" name="BKTW-4" constructionType="HOCHDACH" type="BKTW" hasNef="false"/>
<VehicleVersion id="5" name="NEF-1" constructionType="NORMAL" type="NEF" hasNef="true"/>
<Vehicle id="1" version="1" status="FREI_FUNK"/>
<Vehicle id="2" version="2" status="FREI_WACHE"/>
<Vehicle id="3" version="3" status="FREI_FUNK"/>
- <Vehicle id="4" version="4" status="FREI_WACHE"/>
+ <Vehicle id="4" version="4" status="ZUM_BERUFUNGSORT"/>
- <VehicleOperation />
+ <VehicleOperation vehicleId="4" operationId="1"/>
</dataset>
diff --git a/src/test/resources/operationIntegrationVehicles.xml b/src/test/resources/operationIntegrationVehicles.xml
new file mode 100644
index 0000000..0e6f848
--- /dev/null
+++ b/src/test/resources/operationIntegrationVehicles.xml
@@ -0,0 +1,12 @@
+<dataset>
+<VehicleVersion id="1" name="RTW-1" constructionType="HOCHDACH" type="RTW" hasNef="true"/>
+<VehicleVersion id="2" name="KTW-2" constructionType="HOCHDACH" type="KTW" hasNef="true"/>
+<VehicleVersion id="3" name="KTW-3" constructionType="MITTELHOCHDACH" type="KTW_B" hasNef="false"/>
+<VehicleVersion id="4" name="BKTW-4" constructionType="HOCHDACH" type="BKTW" hasNef="false"/>
+<VehicleVersion id="5" name="NEF-1" constructionType="NORMAL" type="NEF" hasNef="true"/>
+
+<Vehicle id="1" version="1" status="FREI_FUNK"/>
+<Vehicle id="2" version="2" status="FREI_WACHE"/>
+<Vehicle id="3" version="3" status="FREI_FUNK"/>
+<Vehicle id="4" version="4" status="ZUM_BERUFUNGSORT"/>
+</dataset> \ No newline at end of file
diff --git a/src/test/resources/registrationTestBaseData.xml b/src/test/resources/registrationTestBaseData.xml
new file mode 100644
index 0000000..7ef1912
--- /dev/null
+++ b/src/test/resources/registrationTestBaseData.xml
@@ -0,0 +1,18 @@
+<dataset>
+ <EmployeeVersion id="1" name="John Doe" birthday="2000-01-01" educationLevel="RS" isDriver="true"
+ isPilot="false"/>
+ <EmployeeVersion id="2" name="Nick Verily" birthday="1990-01-01" educationLevel="NKV"
+ isDriver="true" isPilot="false"/>
+ <EmployeeVersion id="3" name="Nicht Arzt" birthday="1980-01-01" educationLevel="NA"
+ isDriver="false" isPilot="false"/>
+
+ <Employee id="1" version="1"/>
+ <Employee id="2" version="2"/>
+ <Employee id="3" version="3"/>
+
+ <VehicleVersion id="1" name="RTW-1" hasNef="true" constructionType="HOCHDACH" type="RTW"/>
+ <VehicleVersion id="2" name="NEF-1" hasNef="false" constructionType="NORMAL" type="NEF"/>
+
+ <Vehicle id="1" version="1" status="ABGEMELDET"/>
+ <Vehicle id="2" version="2" status="ABGEMELDET"/>
+</dataset> \ No newline at end of file