public void AddDeletePlaneType_Returns_CreatedResult_And_PlaneType_ShoudBe_AddedTo_Database_And_Then_ShouldBe_Deleted() { // Arrange MSSQLContext context = new MSSQLContext(); PlaneTypesRepository planeTypesRepository = new PlaneTypesRepository(); PlanesRepository planesRepository = new PlanesRepository(); AircraftUnitOfWork uow = new AircraftUnitOfWork(planesRepository, planeTypesRepository, context); AircraftService service = new AircraftService(uow); PlaneTypesController controller = new PlaneTypesController(mapper.GetDefaultMapper(), service); // add act var newPlaneTypeDTO = new PlaneTypeDTO() { Capacity = 100, CargoCapacity = 5000, Model = "Hurricane" }; var addResult = controller.AddPlaneType(newPlaneTypeDTO); // add assert Assert.IsInstanceOf <CreatedResult>(addResult); Assert.IsInstanceOf <PlaneTypeDTO>((addResult as CreatedResult).Value); // delete act var addedPlaneTypeDTO = (addResult as CreatedResult).Value as PlaneTypeDTO; var deleteResult = controller.DeletePlaneType(addedPlaneTypeDTO.Id); // delete assert Assert.IsInstanceOf <OkResult>(deleteResult); Assert.IsInstanceOf <NotFoundObjectResult>(controller.GetPlaneType(addedPlaneTypeDTO.Id)); }
public void AddDeletePlane_Returns_CreatedResult_And_Plane_ShoudBe_AddedTo_Database_And_Then_ShouldBe_Deleted() { // Arrange MSSQLContext context = new MSSQLContext(); PlaneTypesRepository planeTypesRepository = new PlaneTypesRepository(); PlanesRepository planesRepository = new PlanesRepository(); AircraftUnitOfWork uow = new AircraftUnitOfWork(planesRepository, planeTypesRepository, context); AircraftService service = new AircraftService(uow); PlanesController controller = new PlanesController(mapper.GetDefaultMapper(), service); // add act var newPlaneDTO = new PlaneDTO() { Lifetime = new TimeSpan(200, 0, 0, 0, 0), Name = "Bf-109g", ReleaseDate = new DateTime(1941, 1, 1, 0, 0, 0), FlightHours = 560, LastHeavyMaintenance = DateTime.Now, PlaneTypeId = 1 }; var addResult = controller.AddPlane(newPlaneDTO); // add assert Assert.IsInstanceOf <CreatedResult>(addResult); Assert.IsInstanceOf <PlaneDTO>((addResult as CreatedResult).Value); // delete act var addedPlaneDTO = (addResult as CreatedResult).Value as PlaneDTO; var deleteResult = controller.DeletePlane(addedPlaneDTO.Id); // delete assert Assert.IsInstanceOf <OkResult>(deleteResult); Assert.IsInstanceOf <NotFoundObjectResult>(controller.GetPlane(addedPlaneDTO.Id)); }
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)); }