aboutsummaryrefslogtreecommitdiffstats
path: root/src/test/java
diff options
context:
space:
mode:
authorDominic Rogetzer <e1627756@student.tuwien.ac.at>2018-05-19 14:36:27 +0200
committerTharre <tharre3@gmail.com>2018-05-22 17:05:32 +0200
commit3f96ee012092a8a403c6b3ed91d8e72fdbcbb977 (patch)
tree1ff793265ee195166ec7b5197b010c4e320bfb7a /src/test/java
parent62ac756fbb443f1e8d28543d093ae956afd55ebb (diff)
downloadsepm-groupproject-3f96ee012092a8a403c6b3ed91d8e72fdbcbb977.tar.gz
sepm-groupproject-3f96ee012092a8a403c6b3ed91d8e72fdbcbb977.tar.xz
sepm-groupproject-3f96ee012092a8a403c6b3ed91d8e72fdbcbb977.zip
Add further DBUnit-Tests for employee.add [#25963]
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/EmployeePersistenceTest.java88
1 files changed, 67 insertions, 21 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 52a87eb..6bfd898 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
@@ -13,6 +13,7 @@ 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.operation.DatabaseOperation;
import org.dbunit.util.fileloader.FlatXmlDataFileLoader;
import org.junit.Assert;
@@ -27,10 +28,22 @@ public class EmployeePersistenceTest extends JdbcTestCase {
@Override
protected IDataSet getDataSet() throws DataSetException {
InputStream res =
- getClass().getClassLoader().getResourceAsStream("employeeServiceTestData.xml");
+ getClass()
+ .getClassLoader()
+ .getResourceAsStream("EmployeePersistenceTestBaseData.xml");
return new FlatXmlDataSetBuilder().build(res);
}
+ protected DatabaseOperation getSetUpOperation() throws Exception {
+ return DatabaseOperation.CLEAN_INSERT;
+ }
+
+ protected DatabaseOperation getTearDownOperation() throws Exception {
+ // needed in order to completely reset DB, including resetting auto_increment sequences
+ jdbcConnectionManager.getConnection().prepareStatement("DROP ALL OBJECTS").execute();
+ return DatabaseOperation.DELETE_ALL;
+ }
+
public void testListEmployees() throws PersistenceException {
Set<Employee> employees = employeePersistence.list();
@@ -87,30 +100,21 @@ 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 validEmployee =
+ Employee.builder()
+ .name("Testperson")
+ .birthday(LocalDate.parse("2010-11-11"))
+ .educationLevel(EducationLevel.NA)
+ .isDriver(true)
+ .isPilot(false)
+ .build();
- Employee employee =
- Employee.builder()
- .id(4)
- .name("Testperson")
- .birthday(LocalDate.parse("2010-11-11"))
- .educationLevel(EducationLevel.NA)
- .isDriver(true)
- .isPilot(false)
- .build();
+ public void testAddValidEmployee_EmployeeVersion() throws Exception {
- employeePersistence.add(employee);
+ employeePersistence.add(validEmployee);
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();
@@ -129,6 +133,21 @@ public class EmployeePersistenceTest extends JdbcTestCase {
DefaultColumnFilter.excludedColumnsTable(
expectedEmployeeVersionTable, excludedColumnsEmployeeVersion);
+ Assertion.assertEquals(expectedFilteredTable, actualFilteredTable);
+ }
+
+ public void testAddValidEmployee_Employee() throws Exception {
+
+ employeePersistence.add(validEmployee);
+
+ String[] excludedColumnsEmployee = new String[] {"VERSION"};
+ String tableEmployee = "EMPLOYEE";
+
+ // load actual and expected data set
+ IDataSet actualDataSet = getConnection().createDataSet();
+ IDataSet expectedDataSet =
+ new FlatXmlDataFileLoader().load("/testAddValidEmployee_expected.xml");
+
// extract employee table
ITable actualEmployeeTable = actualDataSet.getTable(tableEmployee);
ITable expectedEmployeeTable = expectedDataSet.getTable(tableEmployee);
@@ -141,10 +160,37 @@ public class EmployeePersistenceTest extends JdbcTestCase {
DefaultColumnFilter.excludedColumnsTable(
expectedEmployeeTable, excludedColumnsEmployee);
- Assertion.assertEquals(expectedFilteredTable, actualFilteredTable);
Assertion.assertEquals(expectedFilteredEmpTable, actualFilteredEmpTable);
}
+ public void testAddValidEmployee_Join() throws Exception {
+
+ employeePersistence.add(validEmployee);
+
+ String[] excludedColumns = new String[] {"E_VERSION", "V_ID"};
+ String table = "EMP_JOIN";
+
+ String sqlJoinEmployeeVersion =
+ "SELECT e.id AS E_ID, v.name AS V_NAME, v.birthday AS V_BIRTHDAY, "
+ + "v.educationLevel as V_EDUCATIONLEVEL, "
+ + "v.isDriver AS V_ISDRIVER, v.isPilot AS V_ISPILOT "
+ + "FROM Employee e "
+ + "JOIN EmployeeVersion v ON e.version = v.id";
+
+ ITable actualJoinData = getConnection().createQueryTable(table, sqlJoinEmployeeVersion);
+
+ IDataSet expectedDataSet =
+ new FlatXmlDataFileLoader().load("/testAddValidEmployeeJoin_expected.xml");
+ ITable expectedJoinData = expectedDataSet.getTable(table);
+
+ ITable actualFilteredJoinData =
+ DefaultColumnFilter.excludedColumnsTable(actualJoinData, excludedColumns);
+ ITable expectedFilteredJoinData =
+ DefaultColumnFilter.excludedColumnsTable(expectedJoinData, excludedColumns);
+
+ Assertion.assertEquals(expectedFilteredJoinData, actualFilteredJoinData);
+ }
+
public void testUpdateValidEmployee() throws PersistenceException {}
public void testUpdateNonExistingEmployee() throws PersistenceException {}