diff options
Diffstat (limited to 'src/test/java/at')
| -rw-r--r-- | src/test/java/at/ac/tuwien/sepm/assignment/groupphase/employee/EmployeeServiceTest.java | 67 | 
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(); +        } +    } +}  | 
