diff options
Diffstat (limited to 'src/test/java/at')
| -rw-r--r-- | src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/OperationIntegrationTests.java | 117 | 
1 files changed, 67 insertions, 50 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"; +        long id = operationService.add(o); +        assertEquals(2, id); -        IDataSet actualDataSet = getConnection().createDataSet(); -        IDataSet expectedDataSet = -                new FlatXmlDataFileLoader().load("/testAddValidOperation_expected.xml"); +        String tableName = "Operation"; +        String[] excludedColumns = new String[] {"created"}; -        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); - -    }*/ +        ITable actual = +                Helper.getActualFilteredTableData(getConnection(), tableName, excludedColumns); +        ITable expected = +                Helper.getExpectedFilteredTableData( +                        tableName, excludedColumns, "operationDAOAddOperation.xml"); +        Assertion.assertEquals(expected, actual); +    }  }  | 
