Esempio n. 1
0
        public void Then_an_exception_is_thrown_when_the_account_is_null()
        {
            // arrange
            var pendingPayment = _sut.PendingPayments.First();

            // act
            Action result = () => _sut.ValidateMinimumRequiredAgreementVersion(pendingPayment.Id, null, _collectionPeriod);

            // assert
            result.Should().Throw <InvalidPendingPaymentException>().WithMessage($"Unable to validate PendingPayment {pendingPayment.Id} of ApprenticeshipIncentive {_sut.Id} because the provided Account record does not match the one against the incentive.");
        }
Esempio n. 2
0
        public void Then_a_validation_result_is_created_for_the_required_minimum_agreement_version(
            int?legalEntitySignedVersion, int?minimumRequiredVersion, bool validationResult)
        {
            // arrange
            var pendingPayment = _sut.PendingPayments.First();

            var legalEntity = Accounts.LegalEntity.Create(_fixture.Build <LegalEntityModel>()
                                                          .With(l => l.AccountLegalEntityId, pendingPayment.Account.AccountLegalEntityId)
                                                          .With(l => l.SignedAgreementVersion, legalEntitySignedVersion)
                                                          .Create());

            _account.AddLegalEntity(pendingPayment.Account.AccountLegalEntityId, legalEntity);

            _sutModel.MinimumAgreementVersion = new AgreementVersion(minimumRequiredVersion);

            _sut = Sut(_sutModel);

            // act
            _sut.ValidateMinimumRequiredAgreementVersion(pendingPayment.Id, _account, _collectionPeriod);

            // assert
            pendingPayment.PendingPaymentValidationResults.Count.Should().Be(1);
            var validationresult = pendingPayment.PendingPaymentValidationResults.First();

            validationresult.Step.Should().Be(ValidationStep.HasSignedMinVersion);
            validationresult.CollectionPeriod.Should().Be(_collectionPeriod);
            validationresult.Result.Should().Be(validationResult);
        }