public void SheduleDepartureTest_When_Flight_NotExist_And_Flight_IsDefined_Then_Throw_Exception() { // Arrange var aircraftMock = new Mock <IAircraftService>(); var crewingMock = new Mock <ICrewingService>(); var flightOpMock = new Mock <IFlightOperationsService>(); long flightId = 1; flightOpMock.SetupSequence(e => e.GetFlightInfo(flightId)).Returns(default(Flight)); var service = new AiroportService(aircraftMock.Object, crewingMock.Object, flightOpMock.Object); var departure = new Departure() { CrewId = 1, DepartureTime = new DateTime(2018, 8, 10, 11, 0, 0), PlaneId = 1, Flight = new Flight() { Id = flightId } }; // act // assert Assert.Throws <ArgumentException>(new TestDelegate(() => { service.SheduleDeparture(departure); })); }
public void SheduleDepartureTest_When_FlightPlaneCrew_IsOk_Then_NotThrow_Exception() { // Arrange var aircraftMock = new Mock <IAircraftService>(); var crewingMock = new Mock <ICrewingService>(); var flightOpMock = new Mock <IFlightOperationsService>(); long flightId = 1; long planeId = 1; long crewId = 1; var flight = new Flight() { Id = flightId, AddedDate = DateTime.Now, DepartureTime = new DateTime(2018, 8, 10, 11, 0, 0), ArrivalTime = new DateTime(2018, 8, 10, 12, 0, 0), DeparturePoint = "Odessa", Destination = "Kiev", ModifiedDate = DateTime.Now }; var plane = new Plane { Id = planeId, Lifetime = new TimeSpan(900, 0, 0, 0, 0), Name = "Edelvejs", ReleaseDate = DateTime.Now, FlightHours = 15, LastHeavyMaintenance = DateTime.Now, TypeId = 1 }; var crew = new Crew() { Id = crewId, Pilot = new Pilot() { ExperienceYears = 11 }, Stewardesses = new List <Stewardess> { new Stewardess(), new Stewardess(), new Stewardess() } }; flightOpMock.SetupSequence(e => e.GetFlightInfo(flightId)).Returns(flight); aircraftMock.SetupSequence(e => e.GetPlaneInfo(planeId)).Returns(plane); crewingMock.SetupSequence(e => e.GetIncludedCrewInfo(crewId, false)).Returns(crew); var service = new AiroportService(aircraftMock.Object, crewingMock.Object, flightOpMock.Object); var departure = new Departure() { CrewId = crewId, DepartureTime = new DateTime(2018, 8, 10, 11, 0, 0), PlaneId = planeId, FlightId = flightId }; // act // assert Assert.DoesNotThrow(() => { service.SheduleDeparture(departure); }); }
public void SheduleDepartureTest_When_Flight_IsExist_But_DepartureDateTime_IsNot_Correspond_To_FlightDatetime_Then_Throw_Exception() { // Arrange var aircraftMock = new Mock <IAircraftService>(); var crewingMock = new Mock <ICrewingService>(); var flightOpMock = new Mock <IFlightOperationsService>(); long flightId = 1; var flight = new Flight() { Id = flightId, AddedDate = DateTime.Now, DepartureTime = new DateTime(2018, 8, 10, 11, 0, 0), ArrivalTime = new DateTime(2018, 8, 10, 12, 0, 0), DeparturePoint = "Odessa", Destination = "Kiev", ModifiedDate = DateTime.Now }; flightOpMock.SetupSequence(e => e.GetFlightInfo(flightId)).Returns(flight); var service = new AiroportService(aircraftMock.Object, crewingMock.Object, flightOpMock.Object); var departure = new Departure() { CrewId = 1, DepartureTime = new DateTime(1993, 8, 10, 11, 0, 0), PlaneId = 1, FlightId = flightId, }; var departure2 = new Departure() { CrewId = 1, DepartureTime = new DateTime(2018, 3, 10, 11, 0, 0), PlaneId = 1, FlightId = flightId, }; var departure3 = new Departure() { CrewId = 1, DepartureTime = new DateTime(2018, 8, 10, 12, 0, 0), PlaneId = 1, FlightId = flightId, }; // act // assert Assert.Throws <ArgumentException>(new TestDelegate(() => { service.SheduleDeparture(departure); })); Assert.Throws <ArgumentException>(new TestDelegate(() => { service.SheduleDeparture(departure2); })); Assert.Throws <ArgumentException>(new TestDelegate(() => { service.SheduleDeparture(departure3); })); }
public void SheduleDeleteDeparture_When_All_Args_IsOk_When_Should_Return_CreatedResult_And_Add_Departure_To_dB_And_Then_Delete() { // Arrange #region ControllerInit MSSQLContext context = new MSSQLContext(); PlaneTypesRepository planeTypesRepository = new PlaneTypesRepository(); PlanesRepository planesRepository = new PlanesRepository(); AircraftUnitOfWork uow = new AircraftUnitOfWork(planesRepository, planeTypesRepository, context); AircraftService service = new AircraftService(uow); CrewsRepository crewsRepository = new CrewsRepository(); PilotsRepository pilotsRepository = new PilotsRepository(); StewardessesRepository stewardessesRepository = new StewardessesRepository(); CrewingUnitOfWork cuow = new CrewingUnitOfWork(crewsRepository, pilotsRepository, stewardessesRepository, context); CrewingService crewingService = new CrewingService(cuow); FlightsRepository flightRepository = new FlightsRepository(); DeparturesRepository departuresRepository = new DeparturesRepository(); TicketsRepository ticketsRepository = new TicketsRepository(); FlightOperationsUnitOfWork flightOpUow = new FlightOperationsUnitOfWork(flightRepository, ticketsRepository, departuresRepository, context); FlightOperationsService flightOpeService = new FlightOperationsService(flightOpUow); AiroportService airportService = new AiroportService(service, crewingService, flightOpeService); AirportController controller = new AirportController(mapper.GetDefaultMapper(), airportService); #endregion var departureDto = new DepartureDTO() { CrewId = crewId, DepartureTime = new DateTime(2018, 8, 10, 11, 0, 0), PlaneId = 2, FlightId = 1 }; var addResult = controller.SheduleDeparture(departureDto); // add assert Assert.IsInstanceOf <CreatedResult>(addResult); Assert.IsInstanceOf <DepartureDTO>((addResult as CreatedResult).Value); // delete act var addedDepartureDTO = (addResult as CreatedResult).Value as DepartureDTO; var deleteResult = controller.DeleteDeparture(addedDepartureDTO.Id); // delete assert Assert.IsInstanceOf <OkResult>(deleteResult); Assert.IsNull(departuresRepository.Get(addedDepartureDTO.Id)); }
public void SheduleDepartureTest_When_Flight_IsOk_But_Plane_Lifetime_Has_Expired_Then_Throw_Exception() { // Arrange var aircraftMock = new Mock <IAircraftService>(); var crewingMock = new Mock <ICrewingService>(); var flightOpMock = new Mock <IFlightOperationsService>(); long flightId = 1; long planeId = 1; var flight = new Flight() { Id = flightId, AddedDate = DateTime.Now, DepartureTime = new DateTime(2018, 8, 10, 11, 0, 0), ArrivalTime = new DateTime(2018, 8, 10, 12, 0, 0), DeparturePoint = "Odessa", Destination = "Kiev", ModifiedDate = DateTime.Now }; var plane = new Plane { Id = planeId, Lifetime = new TimeSpan(900, 0, 0, 0, 0), Name = "Edelvejs", ReleaseDate = new DateTime(2012, 1, 1, 0, 0, 0), FlightHours = 15, LastHeavyMaintenance = DateTime.Now, TypeId = 1 }; flightOpMock.SetupSequence(e => e.GetFlightInfo(flightId)).Returns(flight); aircraftMock.SetupSequence(e => e.GetPlaneInfo(planeId)).Returns(plane); var service = new AiroportService(aircraftMock.Object, crewingMock.Object, flightOpMock.Object); var departure = new Departure() { CrewId = 1, DepartureTime = new DateTime(2018, 8, 10, 11, 0, 0), PlaneId = planeId, FlightId = flightId }; // act // assert Assert.Throws <ArgumentException>(new TestDelegate(() => { service.SheduleDeparture(departure); })); }
public void SheduleDepartureTest_When_Flight_And_FlightId_IsNot_Defined_Then_Throw_Exception() { // Arrange var aircraftMock = new Mock <IAircraftService>(); var crewingMock = new Mock <ICrewingService>(); var flightOpMock = new Mock <IFlightOperationsService>(); var service = new AiroportService(aircraftMock.Object, crewingMock.Object, flightOpMock.Object); var departure = new Departure() { CrewId = 1, DepartureTime = new DateTime(2018, 8, 10, 11, 0, 0), PlaneId = 1 }; // act // assert Assert.Throws <ArgumentNullException>(new TestDelegate(() => { service.SheduleDeparture(departure); })); }