diff --git a/airport-manager-api/src/main/java/cz/muni/fi/pa165/api/flight/requests/FlightRequest.java b/airport-manager-api/src/main/java/cz/muni/fi/pa165/api/flight/requests/FlightRequest.java index 4affa050180917296cfb2c551b3acfc68868f1bf..15919b2dda9e98f165f3e77217e2a21765bb0710 100644 --- a/airport-manager-api/src/main/java/cz/muni/fi/pa165/api/flight/requests/FlightRequest.java +++ b/airport-manager-api/src/main/java/cz/muni/fi/pa165/api/flight/requests/FlightRequest.java @@ -13,5 +13,5 @@ public class FlightRequest { private String origin; private String destination; - private Long planeId; + private UUID planeId; } diff --git a/airports-flight-service/src/test/java/cz/muni/fi/pa165/facade/FlightFacadeTest.java b/airports-flight-service/src/test/java/cz/muni/fi/pa165/facade/FlightFacadeTest.java index 98a5ca66695ef5d7c7b1265f525ef2403c14a9e0..0fbc4038831fdd23e8d54a8d82659411e0609515 100644 --- a/airports-flight-service/src/test/java/cz/muni/fi/pa165/facade/FlightFacadeTest.java +++ b/airports-flight-service/src/test/java/cz/muni/fi/pa165/facade/FlightFacadeTest.java @@ -1,13 +1,24 @@ package cz.muni.fi.pa165.facade; +import cz.muni.fi.pa165.api.flight.requests.FlightRequest; +import cz.muni.fi.pa165.api.plane.requests.PlaneRequest; +import cz.muni.fi.pa165.exception.FlightNotFoundException; import cz.muni.fi.pa165.service.FlightService; +import cz.muni.fi.pa165.utils.TestApiFactory; +import cz.muni.fi.pa165.utils.TestDaoFactory; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.InjectMocks; import org.mockito.Mock; +import org.mockito.Mockito; import org.mockito.junit.jupiter.MockitoExtension; +import java.util.UUID; + +import static org.junit.jupiter.api.Assertions.*; +import static org.mockito.Mockito.*; + @ExtendWith(MockitoExtension.class) public class FlightFacadeTest { @@ -24,17 +35,40 @@ public class FlightFacadeTest { @Test public void getFlights() { - } @Test - public void getFlight() { + public void getFlight_flightFound() { + var id = new UUID(0x1, 0xf); + cz.muni.fi.pa165.api.flight.Flight apiPlane = TestApiFactory.getFlightEntity(); + cz.muni.fi.pa165.dao.Flight daoPlane = TestDaoFactory.getFlightEntity(); + FlightRequest request = TestApiFactory.getFlightRequest(); + when(flightService.getFlight(id)).thenReturn(daoPlane); + + var result = flightFacade.getFlight(id); + assertNotNull(result); + verify(flightService, times(1)).getFlight(id); } @Test - public void createFlight() { + void getById_flightNotFound_throwsFlightNotFoundException() { + UUID id = UUID.randomUUID(); + when(flightService.getFlight(id)).thenThrow(new FlightNotFoundException()); + assertThrows(FlightNotFoundException.class, () -> flightFacade.getFlight(id)); + } + @Test + public void createFlight() { +// cz.muni.fi.pa165.api.flight.Flight apiPlane = TestApiFactory.getFlightEntity(); +// apiPlane.setId(null); +// cz.muni.fi.pa165.dao.Flight daoPlane = TestDaoFactory.getFlightEntity(); +// daoPlane.setId(null); +// FlightRequest request = TestApiFactory.getFlightRequest(); +// +// Mockito.when(flightService.createFlight(daoPlane)).thenReturn(daoPlane); +// assertEquals(apiPlane, flightFacade.createFlight(request)); +// Mockito.verify(flightService, Mockito.times(1)).createFlight(daoPlane); } @Test diff --git a/airports-flight-service/src/test/java/cz/muni/fi/pa165/utils/TestApiFactory.java b/airports-flight-service/src/test/java/cz/muni/fi/pa165/utils/TestApiFactory.java new file mode 100644 index 0000000000000000000000000000000000000000..a478f64ba714b9c64b07ef6a48ca9dbb37d1a2ec --- /dev/null +++ b/airports-flight-service/src/test/java/cz/muni/fi/pa165/utils/TestApiFactory.java @@ -0,0 +1,53 @@ +package cz.muni.fi.pa165.utils; + +import cz.muni.fi.pa165.api.flight.Flight; +import cz.muni.fi.pa165.api.flight.FlightRealization; +import cz.muni.fi.pa165.api.flight.IssueReport; +import cz.muni.fi.pa165.api.flight.requests.FlightRequest; +import org.springframework.stereotype.Component; + +import java.time.Duration; +import java.time.LocalDateTime; +import java.util.UUID; + +@Component +public class TestApiFactory { + + public static Flight getFlightEntity() { + UUID id = new UUID(0x1, 0xf); + Flight flight = new Flight(); + flight.setPlaneId(id); + flight.setDestination(new UUID(0x2, 0xf)); + flight.setOrigin(new UUID(0x3, 0xf)); + + return flight; + } + + + public static FlightRealization getflightRealizationEntity() { + UUID id = new UUID(0x1, 0xf); + FlightRealization flightRealization = new FlightRealization(); + flightRealization.setDepartureTime(LocalDateTime.now()); + flightRealization.setArrivalTime(LocalDateTime.now()); + flightRealization.setFlightId(id); + flightRealization.setReport("report"); + flightRealization.setDuration(Duration.ofHours(1)); + flightRealization.setKilometersFlown(850); + + return flightRealization; + } + + public static IssueReport getIssueReport() { + IssueReport issueReport = new IssueReport(); + issueReport.setFlightEncountered(new UUID(0x1, 0xf)); + issueReport.setDescription("description"); + + return issueReport; + } + + public static FlightRequest getFlightRequest() { + FlightRequest flightRequest = new FlightRequest("origin", "Destination", new UUID(0x1, 0xf)); + + return flightRequest; + } +}