From 5e312765f43815a7a2b22d3c5b00f7fceea76a8b Mon Sep 17 00:00:00 2001 From: Viktoria Pundy Date: Sat, 5 May 2018 17:12:53 +0200 Subject: Added unit tests --- .../groupphase/operation/OperationServiceTest.java | 122 +++++++++++++++++++-- 1 file changed, 114 insertions(+), 8 deletions(-) (limited to 'src/test/at/ac/tuwien/sepm/assignment/groupphase/operation/OperationServiceTest.java') diff --git a/src/test/at/ac/tuwien/sepm/assignment/groupphase/operation/OperationServiceTest.java b/src/test/at/ac/tuwien/sepm/assignment/groupphase/operation/OperationServiceTest.java index 9b9fc03..aa89a85 100644 --- a/src/test/at/ac/tuwien/sepm/assignment/groupphase/operation/OperationServiceTest.java +++ b/src/test/at/ac/tuwien/sepm/assignment/groupphase/operation/OperationServiceTest.java @@ -7,30 +7,42 @@ 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.dto.Employee; -import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Employee.EducationLevel; import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Operation; import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Operation.Severity; import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Operation.Status; -import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service.EmployeeService; +import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle; +import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle.ConstructionType; +import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle.VehicleType; import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service.OperationService; import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service.OperationServiceImpl; -import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidEmployeeException; import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidOperationException; import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException; import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException; import java.time.Instant; -import java.time.LocalDate; +import java.util.List; import org.junit.Assert; import org.junit.Test; public class OperationServiceTest { private final OperationDAO operationDAO = mock(OperationDAO.class); - private final OperationService operationService = new OperationServiceImpl(); + private final OperationService operationService = new OperationServiceImpl(operationDAO); @Test public void addOperationTest() { + try { + when(operationDAO.add(any())).thenReturn(1L); + } catch (PersistenceException e) { + fail(); + } + Vehicle vehicle = + Vehicle.builder() + .status(Vehicle.Status.FREI_FUNK) + .constructionType(ConstructionType.HOCHDACH) + .name("BKTW_123") + .hasNef(true) + .type(VehicleType.BKTW) + .build(); + Operation operation = Operation.builder() .status(Status.ACTIVE) @@ -39,11 +51,105 @@ public class OperationServiceTest { .destination("Wiedner Hauptstraße 35, Wien") .additionalInfo("HTU Wien") .severity(Severity.B) + .vehicles(List.of(vehicle)) .build(); - try{ + try { Assert.assertThat(operationService.add(operation), is(1L)); } catch (InvalidOperationException | ServiceException e) { fail(); } } + + @Test(expected = InvalidOperationException.class) + public void addFaultyOperationTest() throws InvalidOperationException { + Vehicle vehicle = + Vehicle.builder() + .status(Vehicle.Status.FREI_FUNK) + .constructionType(ConstructionType.HOCHDACH) + .name("BKTW_123") + .hasNef(true) + .type(VehicleType.BKTW) + .build(); + Vehicle vehicle1 = + Vehicle.builder() + .status(Vehicle.Status.ABGEMELDET) + .constructionType(ConstructionType.HOCHDACH) + .name("BKTW_123") + .hasNef(true) + .type(VehicleType.BKTW) + .build(); + + Operation operation = + Operation.builder() + .status(Status.ACTIVE) + .opCode("ALP-95E7") + .created(Instant.now()) + .destination("Wiedner Hauptstraße 35, Wien") + .additionalInfo("HTU Wien") + .severity(Severity.B) + .vehicles(List.of(vehicle, vehicle1)) + .build(); + try { + Assert.assertThat(operationService.add(operation), is(1L)); + } catch (ServiceException e) { + fail(); + } + } + + @Test(expected = InvalidOperationException.class) + public void addFaultyOperation2Test() throws InvalidOperationException { + Operation operation = + Operation.builder() + .status(Status.ACTIVE) + .opCode("ALP-95E7") + .created(Instant.now()) + .destination("Wiedner Hauptstraße 35, Wien") + .additionalInfo("HTU Wien") + .severity(Severity.B) + .vehicles(List.of()) + .build(); + try { + Assert.assertThat(operationService.add(operation), is(1L)); + } catch (ServiceException e) { + e.printStackTrace(); + } + } + + @Test(expected = InvalidOperationException.class) + public void addFaultyOperation3Test() throws InvalidOperationException { + Operation operation = + Operation.builder() + .status(Status.ACTIVE) + .opCode("ALP-95E7") + .created(Instant.now()) + .destination("") + .additionalInfo("HTU Wien") + .severity(Severity.B) + .vehicles(List.of()) + .build(); + try { + Assert.assertThat(operationService.add(operation), is(1L)); + } catch (ServiceException e) { + e.printStackTrace(); + } + } + + @Test(expected = InvalidOperationException.class) + public void addFaultyOperation4Test() throws InvalidOperationException { + Operation operation = + Operation.builder() + .status(Status.ACTIVE) + .opCode("") + .created(Instant.now()) + .destination("Römergasse 7, 2500 Baden") + .additionalInfo("HTU Wien") + .severity(Severity.B) + .vehicles(List.of()) + .build(); + try { + Assert.assertThat(operationService.add(operation), is(1L)); + } catch (ServiceException e) { + e.printStackTrace(); + } + } } -- cgit v1.2.3-70-g09d2