public async Task ShouldReturnOneFlightWithCustomPrice() { var from = DateTimeOffset.Parse("2021-02-02T10:00:00Z"); var tenant = new Tenant { Id = 1, Name = "test", TenantGroup = Domain.Enums.TenantGroup.A }; Context.Tenants.Add(tenant); Context.Flights.Add(new Flight { FlightId = FlightId.From("KLM 12345 BCA"), Monday = true, DefaultPrice = 24, From = "Europe", To = "Africa", Hour = 10, Minute = 30, CreatedBy = tenant, CustomPrices = new List <FlightPrice> { new FlightPrice { From = from, To = from.AddDays(10), Value = 30 } } }); Context.SaveChanges(); var availableFlightsQuery = new GetAvailableFlightQueryHandler(Context, _mapper); var result = await availableFlightsQuery.Handle(new GetAvailableFlightQuery { FlightId = FlightId.From("KLM 12345 BCA"), From = from, To = from.AddDays(7) }, CancellationToken.None); Assert.True(result.Count == 1); Assert.AreEqual("2021-02-08 10:30:00", result.First().DepartureDateTime.ToString("yyyy-MM-dd HH:mm:ss")); Assert.AreEqual(30, result.First().Price); }
public async Task ShouldPersistNewFlightPurchaseInDbContext() { var tenant = new Tenant { Id = 1, Name = "test", TenantGroup = Domain.Enums.TenantGroup.A }; Context.Tenants.Add(tenant); Context.Flights.Add(new Flight { FlightId = FlightId.From("KLM 12345 BCA"), Monday = true, DefaultPrice = 24, From = "Europe", To = "Africa", Hour = 10, Minute = 30, CreatedBy = tenant }); Context.SaveChanges(); var from = DateTimeOffset.Parse("2021-02-02T10:00:00Z"); var availableFlightsQuery = new GetAvailableFlightQueryHandler(Context, _mapper); var result = await availableFlightsQuery.Handle(new GetAvailableFlightQuery { FlightId = FlightId.From("KLM 12345 BCA"), From = from, To = from.AddDays(7) }, CancellationToken.None); var createFlightPurchaseCommand = new CreateFlightPurchaseCommandHandler(Context, _mapper); var purchase = await createFlightPurchaseCommand.Handle(new CreateFlightPurchaseCommand { Flight = result.First(), TenantId = 1 }, CancellationToken.None); //assert Assert.IsTrue(Context.FlightPurchases.Count() == 1); }
public async Task ShouldReturnZeroResults() { var tenant = new Tenant { Id = 1, Name = "test", TenantGroup = Domain.Enums.TenantGroup.A }; Context.Tenants.Add(tenant); Context.Flights.Add(new Flight { FlightId = FlightId.From("KLM 12345 BCA"), Monday = true, DefaultPrice = 24, From = "Europe", To = "Africa", Hour = 10, Minute = 30, CreatedBy = tenant }); Context.SaveChanges(); var from = DateTimeOffset.Parse("2021-02-02T10:00:00Z"); var availableFlightsQuery = new GetAvailableFlightQueryHandler(Context, _mapper); var result = await availableFlightsQuery.Handle(new GetAvailableFlightQuery { FlightId = FlightId.From("KLM 12345 BCA"), From = from, To = from.AddDays(4) }, CancellationToken.None); Assert.True(result.Count == 0); }