diff options
author | Dominic Rogetzer <e1627756@student.tuwien.ac.at> | 2018-06-16 11:53:01 +0200 |
---|---|---|
committer | Tharre <tharre3@gmail.com> | 2018-06-16 16:07:17 +0200 |
commit | 174ede688c45d2a294527433f0bf23d57f9246b7 (patch) | |
tree | 6eda808e357943b2bd9a3f6d9a25adbaafeb2c00 /src/test/java/at/ac/tuwien | |
parent | 612a96e961f9944c2031b457ff246fe234274fa8 (diff) | |
download | sepm-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/java/at/ac/tuwien')
-rw-r--r-- | src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/OperationIntegrationTests.java | 123 |
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); + } } |