aboutsummaryrefslogtreecommitdiffstats
path: root/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'src/test')
-rw-r--r--src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/EmployeePersistenceTest.java66
-rw-r--r--src/test/resources/testAddValidEmployee_expected.xml16
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