Esempio n. 1
0
        public void TransactionTypesQueryHandler_TransactionTypesQueryNotEmptyDatabaseWithQuery_MatchingArray()
        {
            //given
            var repository = LiteDbHelper.CreateMemoryDb();
            var handler    = new TransactionTypesQueryHandler(repository);
            Expression <Func <TransactionType, bool> > linqQuery = x => x.IsDefault && x.Outcome;
            var query        = new TransactionTypesQuery(linqQuery);
            var transactions = new[]
            {
                new TransactionType {
                    Income = true, IsDefault = true, Name = "income"
                },
                new TransactionType {
                    Outcome = true, IsDefault = true, Name = "outcome"
                },
            };

            repository.Database.GetCollection <TransactionType>().InsertBulk(transactions);
            var matchingTransactions = transactions.AsQueryable().Where(linqQuery).ToArray();

            //when
            var result = handler.Execute(query);

            //then
            Assert.Equal(matchingTransactions.Length, result.Length);
            Assert.Equal(matchingTransactions, result);
        }
Esempio n. 2
0
        public void TransactionTypesQueryHandler_TransactionTypesQueryEmptyDatabase_EmptyArray()
        {
            //given
            var repository = LiteDbHelper.CreateMemoryDb();
            var handler    = new TransactionTypesQueryHandler(repository);
            var query      = new TransactionTypesQuery();

            //when
            var result = handler.Execute(query);

            //then
            Assert.NotNull(result);
            Assert.Empty(result);
        }
Esempio n. 3
0
        public TransactionTypesViewModel(IQueryDispatcher queryDispatcher, ICommandDispatcher commandDispatcher)
        {
            _commandDispatcher = commandDispatcher;

            var query            = new TransactionTypesQuery();
            var types            = queryDispatcher.Execute <TransactionTypesQuery, DtoType[]>(query);
            var transactionTypes = Mapper.Map <TransactionType[]>(types);

            TransactionTypes = new TrulyObservableCollection <TransactionType>(transactionTypes);
            TransactionTypes.CollectionChanged += TransactionTypesOnCollectionChanged;

            AddTransactionTypeCommand = new RelayCommand(() => { TransactionTypes.Add(new TransactionType {
                    Outcome = true
                }); });
            RemoveCommand = new RelayCommand <TransactionType>(x =>
            {
                _commandDispatcher.Execute(new DeleteTransactionTypeCommand(Mapper.Map <DtoType>(x)));
                TransactionTypes.Remove(x);
            });
        }
Esempio n. 4
0
        public void TransactionTypesQueryHandler_NotEmptyDatabaseWithNoQuery_AllTransactionTypes()
        {
            //given
            var repository       = LiteDbHelper.CreateMemoryDb();
            var handler          = new TransactionTypesQueryHandler(repository);
            var query            = new TransactionTypesQuery();
            var transactionTypes = new[]
            {
                new TransactionType(),
                new TransactionType()
            };

            repository.Database.GetCollection <TransactionType>().InsertBulk(transactionTypes);

            //when
            var result = handler.Execute(query);

            //then
            Assert.Equal(transactionTypes.OrderBy(x => x.Id), result.OrderBy(x => x.Id));
        }