public async Task Then_a_failed_pendingPayment_validation_result_is_saved_against_the_pendingPayment_and_the_pending_payment_is_not_validated() { //Arrange var incentive = _fixture.Create <Domain.ApprenticeshipIncentives.ApprenticeshipIncentive>(); var pendingPayment = incentive.PendingPayments.First(); var collectionPeriod = _collectionCalendarPeriods.First().CollectionPeriod; var accountModel = _fixture.Build <AccountModel>() .With(a => a.Id, _account.Id) .With(a => a.LegalEntityModels, new List <LegalEntityModel>() { _fixture.Build <LegalEntityModel>() .With(l => l.VrfVendorId, string.Empty) .With(l => l.AccountLegalEntityId, _account.AccountLegalEntityId) .Create() }) .Create(); var domainAccount = Domain.Accounts.Account.Create(accountModel); _mockAccountDomainRepository .Setup(m => m.Find(incentive.Account.Id)) .ReturnsAsync(domainAccount); var command = new ValidatePendingPaymentCommand(incentive.Id, pendingPayment.Id, collectionPeriod.AcademicYear, collectionPeriod.PeriodNumber); // Act await _sut.Handle(command); // Assert incentive.PendingPayments.Count(p => p.PendingPaymentValidationResults.Count >= 1).Should().Be(1); incentive.PendingPayments.First().IsValidated(new Domain.ValueObjects.CollectionPeriod(collectionPeriod.PeriodNumber, collectionPeriod.AcademicYear)).Should().BeFalse(); }
public async Task Then_a_passing_pendingPayment_validation_result_is_saved_against_the_pendingPayment_and_the_pending_payment_is_validated() { //Arrange var incentive = _fixture.Create <Domain.ApprenticeshipIncentives.ApprenticeshipIncentive>(); var pendingPayment = incentive.PendingPayments.First(); var collectionPeriod = _collectionCalendarPeriods.First().CollectionPeriod; var command = new ValidatePendingPaymentCommand(incentive.Id, pendingPayment.Id, collectionPeriod.AcademicYear, collectionPeriod.PeriodNumber); // Act await _sut.Handle(command); // Assert incentive.PendingPayments.Count(p => p.PendingPaymentValidationResults.Count >= 1).Should().Be(1); incentive.PendingPayments.First().IsValidated(new Domain.ValueObjects.CollectionPeriod(collectionPeriod.PeriodNumber, collectionPeriod.AcademicYear)).Should().BeTrue(); }
public async Task Then_a_failed_pendingPayment_validation_result_is_saved_and_no_further_validation_performed_when_no_ILR_submission_found() { // Arrange var incentive = _fixture.Create <Domain.ApprenticeshipIncentives.ApprenticeshipIncentive>(); _learner.SetSubmissionData(null); Assert.IsFalse(_learner.SubmissionData.SubmissionFound); var pendingPayment = incentive.PendingPayments.First(); var collectionPeriod = _collectionCalendarPeriods.First().CollectionPeriod; var accountModel = _fixture.Build <AccountModel>() .With(a => a.Id, _account.Id) .With(a => a.LegalEntityModels, new List <LegalEntityModel>() { _fixture.Build <LegalEntityModel>() .With(l => l.VrfVendorId, "VENDORID") .With(l => l.AccountLegalEntityId, _account.AccountLegalEntityId) .Create() }) .Create(); var domainAccount = Domain.Accounts.Account.Create(accountModel); _mockAccountDomainRepository .Setup(m => m.Find(incentive.Account.Id)) .ReturnsAsync(domainAccount); var command = new ValidatePendingPaymentCommand(incentive.Id, pendingPayment.Id, collectionPeriod.AcademicYear, collectionPeriod.PeriodNumber); // Act await _sut.Handle(command); // Assert var validationResult = incentive.PendingPayments.Single(x => x.PendingPaymentValidationResults.Count == 4) .PendingPaymentValidationResults.Single(x => x.Step == "HasIlrSubmission"); validationResult.Result.Should().BeFalse(); }