summaryrefslogtreecommitdiffstats
path: root/src/test
diff options
context:
space:
mode:
authorDominic Rogetzer <e1627756@student.tuwien.ac.at>2018-06-16 11:53:01 +0200
committerTharre <tharre3@gmail.com>2018-06-16 16:07:17 +0200
commit174ede688c45d2a294527433f0bf23d57f9246b7 (patch)
tree6eda808e357943b2bd9a3f6d9a25adbaafeb2c00 /src/test
parent612a96e961f9944c2031b457ff246fe234274fa8 (diff)
downloadsepm-groupproject-174ede688c45d2a294527433f0bf23d57f9246b7.tar.gz
sepm-groupproject-174ede688c45d2a294527433f0bf23d57f9246b7.tar.xz
sepm-groupproject-174ede688c45d2a294527433f0bf23d57f9246b7.zip
Add integration test for adding operation [#27302]
Diffstat (limited to 'src/test')
-rw-r--r--src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/OperationIntegrationTests.java123
1 files changed, 70 insertions, 53 deletions
diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/OperationIntegrationTests.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/OperationIntegrationTests.java
index 2d01093..7ac0685 100644
--- a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/OperationIntegrationTests.java
+++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/OperationIntegrationTests.java
@@ -1,73 +1,90 @@
package at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service;
+import static org.junit.Assert.assertEquals;
+
+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.dao.OperationDAO;
+import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dao.OperationDatabaseDAO;
+import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dao.RegistrationDAO;
+import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dao.RegistrationDatabaseDAO;
+import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dao.VehicleDAO;
+import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dao.VehicleDatabaseDAO;
+import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Operation;
+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.exception.PersistenceException;
+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 OperationIntegrationTests extends JdbcTestCase {
- @Override
- protected IDataSet getDataSet() throws Exception {
- return null;
- }
-
- /*private OperationDAO operationDAO;
private OperationService operationService;
+ private Operation o;
+
public OperationIntegrationTests() throws PersistenceException {
- operationDAO = new OperationDatabaseDAO(getJdbcConnectionManager());
+ EmployeeDAO employeeDAO = new EmployeeDatabaseDAO(getJdbcConnectionManager());
+ RegistrationDAO registrationDAO =
+ new RegistrationDatabaseDAO(getJdbcConnectionManager(), employeeDAO);
+ VehicleDAO vehicleDAO =
+ new VehicleDatabaseDAO(
+ getJdbcConnectionManager(), (RegistrationDatabaseDAO) registrationDAO);
+ OperationDAO operationDAO =
+ new OperationDatabaseDAO(getJdbcConnectionManager(), vehicleDAO);
+
+ 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 {
- InputStream res =
- getClass()
- .getClassLoader()
- .getResourceAsStream("operationIntegrationVehicles.xml");
- return new FlatXmlDataSetBuilder().build(res);
- }
-
- protected JDBCConnectionManager getJdbcConnectionManager() {
- return jdbcConnectionManager;
+ return getDataSet("operationDAOUpdateSetup.xml");
}
@Test
public void addOperation() throws Exception {
- LocalDateTime localDateTime = LocalDateTime.of(2018, 6, 4, 10, 44, 30);
- Vehicle vehicle = Vehicle.builder()
- .type(VehicleType.RTW)
- .hasNef(true)
- .name("RTW-1")
- .constructionType(ConstructionType.HOCHDACH)
- .id(1).build();
- Operation operation = Operation.builder().additionalInfo("hellgrünes Haus")
- .status(Status.ACTIVE)
- .destination("Favoritenstraße 99, Wien")
- .created(localDateTime.toInstant(ZoneOffset.UTC))
- .severity(Severity.B)
- .opCode("RD-8A34")
- .vehicles(Set.of(vehicle)).build();
- operationDAO.add(operation);
-
-
- String[] excludedColummns = new String[] {"ID"};
- String tableOITestVersion = "OIVERSION";
-
- IDataSet actualDataSet = getConnection().createDataSet();
- IDataSet expectedDataSet =
- new FlatXmlDataFileLoader().load("/testAddValidOperation_expected.xml");
-
- ITable actualEmployeeVersionTable = actualDataSet.getTable(tableOITestVersion);
- ITable expectedEmployeeVersionTable = expectedDataSet.getTable(tableOITestVersion);
-
- ITable actualFilteredTable =
- DefaultColumnFilter.excludedColumnsTable(
- actualEmployeeVersionTable, excludedColummns);
- ITable expectedFilteredTable =
- DefaultColumnFilter.excludedColumnsTable(
- expectedEmployeeVersionTable, excludedColummns);
-
- Assertion.assertEquals(expectedFilteredTable, actualFilteredTable);
-
- }*/
+ 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);
+ }
}