public async Task Then_the_calculation_is_delayed_if_the_active_period_is_in_progress() { // Arrange _collectionPeriods.First().SetPeriodEndInProgress(true); var incentive = _fixture.Create <Domain.ApprenticeshipIncentives.ApprenticeshipIncentive>(); var command = new CalculateEarningsCommand(incentive.Id); // Act await _sut.Handle(command); // Assert _mockCommandPublisher.Verify(x => x.Send(It.Is <CalculateEarningsCommand>(y => y.ApprenticeshipIncentiveId == incentive.Id), It.Is <TimeSpan>(y => y.TotalHours == 1), It.IsAny <CancellationToken>())); _mockIncentiveDomainRespository.Verify(x => x.Find(It.IsAny <Guid>()), Times.Never); }
public async Task Then_a_earnings_calculated_event_is_raised() { //Arrange var incentive = _fixture.Create <Domain.ApprenticeshipIncentives.ApprenticeshipIncentive>(); var command = new CalculateEarningsCommand(incentive.Id); _mockIncentiveDomainRespository.Setup(x => x .Find(command.ApprenticeshipIncentiveId)) .ReturnsAsync(incentive); // Act await _sut.Handle(command); // Assert incentive.FlushEvents().OfType <EarningsCalculated>().ToList().Count.Should().Be(1); }