summaryrefslogtreecommitdiffstats
path: root/src/test
diff options
context:
space:
mode:
authorDominic Rogetzer <e1627756@student.tuwien.ac.at>2018-05-01 17:07:05 +0200
committerDominic Rogetzer <e01627756@student.tuwien.ac.at>2018-05-03 22:48:31 +0200
commit21716ce4c9f7c144d793047973b31b1698e0eaf5 (patch)
treef4d6a033643e4ff303da7da6f3075d3ee27c2330 /src/test
parent66c5c9f03a80d699584e1c8b0619a5f98a92e4bd (diff)
downloadsepm-groupproject-21716ce4c9f7c144d793047973b31b1698e0eaf5.tar.gz
sepm-groupproject-21716ce4c9f7c144d793047973b31b1698e0eaf5.tar.xz
sepm-groupproject-21716ce4c9f7c144d793047973b31b1698e0eaf5.zip
add unit tests for employeeService, format code in EmployeeServiceImpl
Diffstat (limited to 'src/test')
-rw-r--r--src/test/java/at/ac/tuwien/sepm/assignment/groupphase/employee/EmployeeServiceTest.java67
1 files changed, 67 insertions, 0 deletions
diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/employee/EmployeeServiceTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/employee/EmployeeServiceTest.java
new file mode 100644
index 0000000..ac73c9a
--- /dev/null
+++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/employee/EmployeeServiceTest.java
@@ -0,0 +1,67 @@
+package at.ac.tuwien.sepm.assignment.groupphase.employee;
+
+import static junit.framework.TestCase.fail;
+import static org.hamcrest.CoreMatchers.is;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dao.EmployeeDAO;
+import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dao.EmployeeDatabaseDao;
+import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Employee;
+import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Employee.EducationLevel;
+import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service.EmployeeService;
+import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service.EmployeeServiceImpl;
+import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidEmployeeException;
+import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException;
+import java.time.LocalDate;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class EmployeeServiceTest {
+
+ private final EmployeeDAO employeePersistence = mock(EmployeeDatabaseDao.class);
+ private final EmployeeService employeeService = new EmployeeServiceImpl(employeePersistence);
+
+ public EmployeeServiceTest() throws PersistenceException {
+ when(employeePersistence.add(any())).thenReturn(1L);
+ }
+
+ @Test
+ public void testAddValidEmployee() {
+
+ Employee employee =
+ Employee.builder()
+ .name("Testperson")
+ .birthday(LocalDate.MIN)
+ .educationLevel(EducationLevel.NA)
+ .isDriver(true)
+ .isPilot(false)
+ .build();
+
+ try {
+ Assert.assertThat(employeeService.add(employee), is(1L));
+ } catch (InvalidEmployeeException | PersistenceException e) {
+ fail();
+ }
+ }
+
+ @Test(expected = InvalidEmployeeException.class)
+ public void testAddInvalidEmployee() throws InvalidEmployeeException {
+
+ Employee employee =
+ Employee.builder()
+ .name("")
+ .birthday(LocalDate.MIN)
+ .educationLevel(EducationLevel.NA)
+ .isDriver(true)
+ .isPilot(false)
+ .build();
+
+ try {
+ employeeService.add(employee);
+ } catch (PersistenceException e) {
+ fail();
+ }
+ }
+}