Skip to content
Snippets Groups Projects
Commit 0c8b3bc8 authored by Adam Krídl's avatar Adam Krídl
Browse files

Merge branch 'core-flights-stewards-unit-tests' into 'milestone-02'

Core flights stewards unit tests

See merge request xmachac5/pa165-airport-project!26
parents a689fb4b ceec1ed2
No related branches found
No related tags found
No related merge requests found
Pipeline #
package cz.muni.fi.pa165.core.flight;
import cz.muni.fi.pa165.core.data.domain.Flight;
import cz.muni.fi.pa165.core.data.repository.flight.FlightRepository;
import cz.muni.fi.pa165.core.service.flight.FlightServiceImpl;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import java.time.OffsetDateTime;
import java.time.ZoneOffset;
import java.util.Optional;
import static org.junit.jupiter.api.Assertions.*;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
public class FlightServiceImplTests {
private FlightServiceImpl flightService;
private FlightRepository flightRepository;
@BeforeEach
void setUp() {
flightRepository = mock(FlightRepository.class);
flightService = new FlightServiceImpl(flightRepository);
}
@Test
void findByIdTestSuccess() {
var flightDepartureTime = OffsetDateTime.now();
var flightArrivalTime = OffsetDateTime.now();
var flight = new Flight();
flight.setArrivalTime(flightArrivalTime);
flight.setDepartureTime(flightDepartureTime);
when(flightRepository.findById(flight.getId()))
.thenReturn(Optional.of(flight));
var foundFlightByIdOpt = flightService.findById(flight.getId());
assertTrue(foundFlightByIdOpt.isPresent());
assertEquals(flight.getArrivalTime(), foundFlightByIdOpt.get().getArrivalTime());
assertEquals(flight.getDepartureTime(), foundFlightByIdOpt.get().getDepartureTime());
}
@Test
void findWithStewardsTestSuccess() {
var flightDepartureTime = OffsetDateTime.now();
var flightArrivalTime = OffsetDateTime.now();
var flight = new Flight();
flight.setArrivalTime(flightArrivalTime);
flight.setDepartureTime(flightDepartureTime);
when(flightRepository.findByIdWithStewards(flight.getId()))
.thenReturn(Optional.of(flight));
var foundFlightByIdOpt = flightService.findByIdWithStewards(flight.getId());
assertTrue(foundFlightByIdOpt.isPresent());
assertEquals(flight.getFlightStewards(), foundFlightByIdOpt.get().getFlightStewards());
}
@Test
void updateTestSuccess() {
var flightToUpdate = new Flight();
flightToUpdate.setId(1L);
var time = OffsetDateTime.of(2000, 4, 9, 20, 15, 45, 345875000, ZoneOffset.of("+07:00"));
flightToUpdate.setDepartureTime(time);
flightToUpdate.setArrivalTime(time);
var updatedFlightRequest = new Flight();
var newTime = OffsetDateTime.of(1980, 4, 9, 20, 15, 45, 345875000, ZoneOffset.of("+07:00"));
updatedFlightRequest.setDepartureTime(newTime);
updatedFlightRequest.setArrivalTime(newTime);
when(flightRepository.findById(1L))
.thenReturn(Optional.of(flightToUpdate));
when(flightRepository.save(flightToUpdate))
.thenReturn(updatedFlightRequest);
assertEquals(time, flightToUpdate.getDepartureTime());
assertNotEquals(newTime, flightToUpdate.getDepartureTime());
assertEquals(time, flightToUpdate.getArrivalTime());
assertNotEquals(newTime, flightToUpdate.getArrivalTime());
var afterUpdate = flightService.update(1L, updatedFlightRequest);
assertEquals(afterUpdate.getDepartureTime(), flightToUpdate.getDepartureTime());
}
}
package cz.muni.fi.pa165.core.steward;
import cz.muni.fi.pa165.core.data.domain.Flight;
import cz.muni.fi.pa165.core.data.domain.FlightSteward;
import cz.muni.fi.pa165.core.data.domain.Steward;
import cz.muni.fi.pa165.core.data.repository.flightsteward.FlightStewardRepository;
import cz.muni.fi.pa165.core.data.repository.steward.StewardRepository;
import cz.muni.fi.pa165.core.service.steward.StewardServiceImpl;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import java.time.OffsetDateTime;
import java.util.Optional;
import static org.junit.jupiter.api.Assertions.*;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
public class StewardServiceImplTests {
private StewardServiceImpl stewardService;
private StewardRepository stewardRepository;
@BeforeEach
void setUp() {
stewardRepository = mock(StewardRepository.class);
FlightStewardRepository flightStewardRepository = mock(FlightStewardRepository.class);
stewardService = new StewardServiceImpl(stewardRepository,
flightStewardRepository);
}
@Test
void findByIdTestSuccess() {
var firstName = "Ondra";
var lastName = "Nový";
var steward = new Steward();
steward.setFirstName(firstName);
steward.setLastName(lastName);
when(stewardRepository.findById(steward.getId()))
.thenReturn(Optional.of(steward));
var foundStewardByIdOpt = stewardService.findById(steward.getId());
assertTrue(foundStewardByIdOpt.isPresent());
assertEquals(foundStewardByIdOpt.get().getFirstName(), firstName);
assertEquals(foundStewardByIdOpt.get().getLastName(), lastName);
}
@Test
void assignToFlight() {
var firstName = "Ondra";
var lastName = "Nový";
var steward = new Steward();
steward.setFirstName(firstName);
steward.setLastName(lastName);
var flightDepartureTime = OffsetDateTime.now();
var flightArrivalTime = OffsetDateTime.now();
var flight = new Flight();
flight.setArrivalTime(flightArrivalTime);
flight.setDepartureTime(flightDepartureTime);
FlightSteward flightSteward = new FlightSteward();
flightSteward.setFlight(flight);
flightSteward.setSteward(steward);
assertEquals(flightSteward.getSteward(), steward);
assertEquals(flightSteward.getFlight(), flight);
}
@Test
void updateTestSuccess() {
var stewardToUpdate = new Steward();
stewardToUpdate.setId(1L);
var firstName = "Ondra";
var lastName = "Nový";
stewardToUpdate.setFirstName(firstName);
stewardToUpdate.setLastName(lastName);
var updatedStewardRequest = new Steward();
var newFirstName = "Jirka";
var newLastName = "Starý";
updatedStewardRequest.setFirstName(newFirstName);
updatedStewardRequest.setLastName(newLastName);
when(stewardRepository.findById(1L))
.thenReturn(Optional.of(stewardToUpdate));
when(stewardRepository.save(stewardToUpdate))
.thenReturn(updatedStewardRequest);
assertEquals(firstName, stewardToUpdate.getFirstName());
assertNotEquals(newFirstName, stewardToUpdate.getFirstName());
assertEquals(lastName, stewardToUpdate.getLastName());
assertNotEquals(newLastName, stewardToUpdate.getLastName());
var afterUpdate = stewardService.update(1L, updatedStewardRequest);
assertEquals(afterUpdate.getFirstName(), stewardToUpdate.getFirstName());
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment