public async Task Given_UrgentDeliveryTime_WhenDeliveryTimeIsClosed_ShouldReturnSingleUnavailableItem() { var currentTime = new DateTime(2020, 4, 17, 19, 00, 0); var expectedDto = CreateDeliveryTimeDto(DeliveryType.Urgent, _expectedStart, _expectedFinish, false); var sut = new DeliveryTimeService(new DeliveryTimeInMemoryRepository()); await sut.Add(CreateUrgentDeliveryTime("14:00", "18:00")); // Act var result = await sut.Get(currentTime, 0); // Assert result.Should().ContainSingle(); result.Single().Should().BeEquivalentTo(expectedDto); }
public async Task Given_RegularDeliveryTime_WhenDeliveryTimeIsOpen_ShouldReturnSingleAvailableItem() { // Arrange var currentTime = new DateTime(2020, 4, 17, 8, 0, 0); var expectedDto = CreateDeliveryTimeDto(DeliveryType.Regular, _expectedStart, _expectedFinish, true); var sut = new DeliveryTimeService(new DeliveryTimeInMemoryRepository()); await sut.Add(CreateRegularDeliveryTime("14:00", "18:00", 0)); // Act var result = await sut.Get(currentTime, 0); // Assert result.Should().ContainSingle(); result.Single().Should().BeEquivalentTo(expectedDto); }
public async Task Given_RegularDeliveryTime_WhenDeliveryTimeIsOpen_ShouldReturnSingleAvailableItem() { // Arrange var currentTime = new DateTime(2020, 4, 18, 15, 0, 0); var actualDeliveryTimes = CreateDeliveryTime(); var repository = new DeliveryTimeInMemoryRepository(); foreach (var actualDeliveryTime in actualDeliveryTimes) { await repository.Add(actualDeliveryTime); } var sut = new DeliveryTimeService(repository); // Act var result = await sut.Get(currentTime, 3); // Assert var expectedDeliveryTimesDto = CreateExpectedDeliveryTimeDto(); result.Should().BeEquivalentTo(expectedDeliveryTimesDto); }