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 | |
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')
-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 |