diff options
| author | Dominic Rogetzer <e1627756@student.tuwien.ac.at> | 2018-05-19 12:18:48 +0200 | 
|---|---|---|
| committer | Tharre <tharre3@gmail.com> | 2018-05-22 17:05:32 +0200 | 
| commit | 69901593ea681a0ddcd4dd472155dea0daab4ca4 (patch) | |
| tree | 0db5b648b71091cf822a58344034056fe8649698 /src/test/java/at/ac | |
| parent | 341e9d6a058e61c251b36aa57016705a1dc53ca5 (diff) | |
| download | sepm-groupproject-69901593ea681a0ddcd4dd472155dea0daab4ca4.tar.gz sepm-groupproject-69901593ea681a0ddcd4dd472155dea0daab4ca4.tar.xz sepm-groupproject-69901593ea681a0ddcd4dd472155dea0daab4ca4.zip  | |
Add unit-test testAddValidEmployee [#25949]
Diffstat (limited to 'src/test/java/at/ac')
| -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 {}  }  | 
