diff options
Diffstat (limited to 'src/test/java/at/ac/tuwien/sepm/assignment/groupphase')
-rw-r--r-- | src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/EmployeePersistenceTest.java | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/EmployeePersistenceTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/EmployeePersistenceTest.java index 8633b9d..52a87eb 100644 --- a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/EmployeePersistenceTest.java +++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/EmployeePersistenceTest.java @@ -7,9 +7,13 @@ import at.ac.tuwien.sepm.assignment.groupphase.util.JdbcTestCase; import java.io.InputStream; import java.time.LocalDate; import java.util.Set; +import org.dbunit.Assertion; import org.dbunit.dataset.DataSetException; import org.dbunit.dataset.IDataSet; +import org.dbunit.dataset.ITable; +import org.dbunit.dataset.filter.DefaultColumnFilter; import org.dbunit.dataset.xml.FlatXmlDataSetBuilder; +import org.dbunit.util.fileloader.FlatXmlDataFileLoader; import org.junit.Assert; public class EmployeePersistenceTest extends JdbcTestCase { @@ -82,4 +86,66 @@ public class EmployeePersistenceTest extends JdbcTestCase { Assert.assertFalse(employees.contains(empOne)); } + + /** + * This test checks if rows in both table EmployeeVersion and Employee are created, without + * checking the referential integrity constraint. + * + * @throws Exception + */ + public void testAddValidEmployee() throws Exception { + + Employee employee = + Employee.builder() + .id(4) + .name("Testperson") + .birthday(LocalDate.parse("2010-11-11")) + .educationLevel(EducationLevel.NA) + .isDriver(true) + .isPilot(false) + .build(); + + employeePersistence.add(employee); + + String[] excludedColumnsEmployeeVersion = new String[] {"ID"}; + String[] excludedColumnsEmployee = new String[] {"VERSION"}; + String tableEmployeeVersion = "EMPLOYEEVERSION"; + String tableEmployee = "EMPLOYEE"; + + // load actual and expected data set + IDataSet actualDataSet = getConnection().createDataSet(); + IDataSet expectedDataSet = + new FlatXmlDataFileLoader().load("/testAddValidEmployee_expected.xml"); + + // extract employeeVersion table + ITable actualEmployeeVersionTable = actualDataSet.getTable(tableEmployeeVersion); + ITable expectedEmployeeVersionTable = expectedDataSet.getTable(tableEmployeeVersion); + + // exclude 'id' column as it is an autogenerated value + ITable actualFilteredTable = + DefaultColumnFilter.excludedColumnsTable( + actualEmployeeVersionTable, excludedColumnsEmployeeVersion); + ITable expectedFilteredTable = + DefaultColumnFilter.excludedColumnsTable( + expectedEmployeeVersionTable, excludedColumnsEmployeeVersion); + + // extract employee table + ITable actualEmployeeTable = actualDataSet.getTable(tableEmployee); + ITable expectedEmployeeTable = expectedDataSet.getTable(tableEmployee); + + // exclude 'version' as it is an autogenerated value + ITable actualFilteredEmpTable = + DefaultColumnFilter.excludedColumnsTable( + actualEmployeeTable, excludedColumnsEmployee); + ITable expectedFilteredEmpTable = + DefaultColumnFilter.excludedColumnsTable( + expectedEmployeeTable, excludedColumnsEmployee); + + Assertion.assertEquals(expectedFilteredTable, actualFilteredTable); + Assertion.assertEquals(expectedFilteredEmpTable, actualFilteredEmpTable); + } + + public void testUpdateValidEmployee() throws PersistenceException {} + + public void testUpdateNonExistingEmployee() throws PersistenceException {} } |