public void Generate_should_generate_flights_based_on_request_and_save_them() { #region Using-Mock //var repository = Substitute.For<IFlightRepository>(); //var calculationService = Substitute.For<IFlightCalculationService>(); //var flights = SomeFlights(); //calculationService.Calculate(Arg.Any<FlightCalculationRequest>()).Returns(flights); //var service = new FlightGenerationService(repository, calculationService); //service.Generate(new FlightCalculationRequest()); //repository.Received(3).Add(Arg.Any<Flight>()); #endregion var repository = new FakeFlightRepository(); var calculationService = Substitute.For <IFlightCalculationService>(); var flights = SomeFlights(); calculationService.Calculate(Arg.Any <FlightCalculationRequest>()).Returns(flights); var service = new FlightGenerationService(repository, calculationService); service.Generate(new FlightCalculationRequestDto()); var actualInsertedFlights = repository.GetFlights(); actualInsertedFlights.Should().BeEquivalentTo(flights); }
public void Get_should_return_flights_based_on_flight_number() { var repository = new FakeFlightRepository(); var flight = new FlightTestBuilder().Build(); repository.Add(flight); var expectedFlight = new FlightDto() { FlightNumber = flight.FlightNumber, Destination = flight.Route.Destination, DepartDate = flight.DepartDate, ArriveDate = flight.ArriveDate, Id = flight.Id, Origin = flight.Route.Origin }; var service = new FlightGenerationService(repository, null); var actualFlights = service.Get(flight.FlightNumber); actualFlights.Count.Should().Be(1); actualFlights.Should().AllBeEquivalentTo(expectedFlight); }