diff options
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/EmployeePersistenceTest.java | 66 | ||||
| -rw-r--r-- | src/test/resources/testAddValidEmployee_expected.xml | 16 | 
2 files changed, 82 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 {}  } diff --git a/src/test/resources/testAddValidEmployee_expected.xml b/src/test/resources/testAddValidEmployee_expected.xml new file mode 100644 index 0000000..41ecf4e --- /dev/null +++ b/src/test/resources/testAddValidEmployee_expected.xml @@ -0,0 +1,16 @@ +<dataset> +  <EmployeeVersion id="10" name="Adam" birthday="2010-10-10" educationlevel="RS" isDriver="true" +    isPilot="false"/> +  <EmployeeVersion id="20" name="Max" birthday="1990-11-11" educationlevel="NFS" isDriver="false" +    isPilot="false"/> +  <EmployeeVersion id="30" name="Lisa" birthday="1999-10-16" educationlevel="NKI" isDriver="true" +    isPilot="false"/> +  <EmployeeVersion id="40" name="Testperson" birthday="2010-11-11" educationlevel="NA" +    isDriver="true" +    isPilot="false"/> + +  <Employee id="1" version="10"/> +  <Employee id="2" version="20"/> +  <Employee id="3" version="30"/> +  <Employee id="4" version="40"/> +</dataset>
\ No newline at end of file  | 
