Esempio n. 1
0
        public void GivenSubcategoriesInQuery_ThenSpecThatFiltersBySubcategoriesIsReturned()
        {
            var factory = new TransactionSpecificationFactory();

            var returnedSpec = factory.Create(new GetTransactionsQuery
            {
                Subcategories = new List <string> {
                    "subcategory1", "subcategory2"
                }
            });


            Assert.True(returnedSpec.IsSatisfied(new Transaction
            {
                Subcategory = "subcategory1"
            }));
            Assert.True(returnedSpec.IsSatisfied(new Transaction
            {
                Subcategory = "subcategory2"
            }));
            Assert.False(returnedSpec.IsSatisfied(new Transaction
            {
                Subcategory = "invalid subcategory"
            }));
        }
Esempio n. 2
0
        public void GivenTypeAndCategoriesInQuery_ThenSpecThatFiltersByTypeAndCategoriesIsReturned()
        {
            var factory = new TransactionSpecificationFactory();

            var returnedSpec = factory.Create(new GetTransactionsQuery
            {
                Type       = TransactionType.Expense,
                Categories = new List <string> {
                    "category1", "category2"
                }
            });


            Assert.True(returnedSpec.IsSatisfied(new Transaction
            {
                TransactionType = "expense",
                Category        = "category1"
            }));
            Assert.True(returnedSpec.IsSatisfied(new Transaction
            {
                TransactionType = "expense",
                Category        = "category2"
            }));
            Assert.False(returnedSpec.IsSatisfied(new Transaction
            {
                TransactionType = "expense",
                Category        = "invalid subcategory"
            }));
            Assert.False(returnedSpec.IsSatisfied(new Transaction
            {
                TransactionType = "income",
                Category        = "category1"
            }));
        }
Esempio n. 3
0
 public TransactionHelperService(CurrentUserContext userContext, ITransactionRepository repository,
                                 IMapper mapper)
 {
     _repository           = repository ?? throw new ArgumentNullException(nameof(repository));
     _userContext          = userContext ?? throw new ArgumentNullException(nameof(userContext));
     _mapper               = mapper ?? throw new ArgumentNullException(nameof(mapper));
     _specificationFactory = new TransactionSpecificationFactory();
 }
Esempio n. 4
0
        public void GivenNoFilterParametersInQuery_ThenEmptyAndSpecificationReturned()
        {
            var factory      = new TransactionSpecificationFactory();
            var returnedSpec = factory.Create(new GetTransactionsQuery());


            Assert.True(returnedSpec.IsSatisfied(new Transaction()));
        }
Esempio n. 5
0
        public void GivenTransactionTypeInQuery_ThenSpecThatFiltersByTypeIsReturned()
        {
            var factory = new TransactionSpecificationFactory();

            var returnedSpec = factory.Create(new GetTransactionsQuery
            {
                Type = TransactionType.Expense
            });


            Assert.True(returnedSpec.IsSatisfied(new Transaction
            {
                TransactionType = "expense"
            }));
            Assert.False(returnedSpec.IsSatisfied(new Transaction
            {
                TransactionType = "income"
            }));
        }
Esempio n. 6
0
        public void GivenPayerPayeeIdsInQuery_ThenSpecThatFiltersByPayerPayeeIdsIsReturned()
        {
            var factory = new TransactionSpecificationFactory();

            var returnedSpec = factory.Create(new GetTransactionsQuery
            {
                PayerPayeeIds = new List <string> {
                    "payer1", "payer2"
                }
            });

            Assert.True(returnedSpec.IsSatisfied(new Transaction
            {
                PayerPayeeId = "payer1"
            }));
            Assert.True(returnedSpec.IsSatisfied(new Transaction
            {
                PayerPayeeId = "payer2"
            }));
            Assert.False(returnedSpec.IsSatisfied(new Transaction
            {
                PayerPayeeId = "payer3"
            }));
        }