Example #1
0
        public void EmptyValueIsPassed_ValidationFailedWithExpectedErrorIsReturned()
        {
            // arrange
            var     mockApplicationDbContext = new Mock <IApplicationDbContext>();
            Account account = new()
            {
                AccountNumber = "ABC123",
                Currency      = Currency.EUR
            };
            List <Account> accounts = new List <Account>()
            {
                account,
                new()
                {
                    AccountNumber = "DEF123"
                }
            };

            var stubAccounts = new StubListOfEntities <Account>(accounts);

            mockApplicationDbContext
            .Setup(m => m.Accounts)
            .Returns(stubAccounts);
            var sut = new GetTransactionQueryValidator(mockApplicationDbContext.Object);

            // act
            var instanceToValidate = new GetTransactionsQuery();
            var validationResult   = sut.Validate(instanceToValidate);

            // assert
            validationResult.IsValid.Should().BeFalse();
            validationResult.Errors.Any(e => e.ErrorMessage == "Account Number is required.").Should().BeTrue();
        }
Example #2
0
        public void PassValidAccountNumber_ValidationSucceded()
        {
            // arrange
            var     mockApplicationDbContext = new Mock <IApplicationDbContext>();
            var     accountNumber            = "ABC123";
            Account account = new()
            {
                AccountNumber = accountNumber,
                Currency      = Currency.EUR
            };
            List <Account> accounts = new List <Account>()
            {
                account,
                new()
                {
                    AccountNumber = "DEF123"
                }
            };

            var stubAccounts = new StubListOfEntities <Account>(accounts);

            mockApplicationDbContext
            .Setup(m => m.Accounts)
            .Returns(stubAccounts);
            var sut = new GetTransactionQueryValidator(mockApplicationDbContext.Object);

            // act
            var instanceToValidate = new GetTransactionsQuery()
            {
                AccountNumber = accountNumber
            };
            var validationResult = sut.Validate(instanceToValidate);

            // assert
            validationResult.IsValid.Should().BeTrue();
        }
    }
}