public async Task ShouldReturnTransactionSummaryViewModelWithOutDataWhenStorageHasNoData()
        {
            var mockStorage = new Mock <IStorage>();

            mockStorage.Setup(x => x.Get <List <TransactionViewModel> >("transactionViewModel")).Returns(new List <TransactionViewModel>());
            var handler = new TransactionSummaryHandler(mockStorage.Object);

            var result = await handler.Handle(It.IsAny <GetTransactionSummaryQuery>(), It.IsAny <CancellationToken>());

            Assert.IsTrue(result.Response.Count == 0);
            Assert.IsInstanceOfType(result.Response, typeof(List <TransactionSummaryViewModel>));
        }
        public async Task ShouldReturnListofTransactionSummaryViewModelWithDataWhenStorageHasData()
        {
            var mockStorage = new Mock <IStorage>();
            var account     = new AccountModel
            {
                AccountId   = "testAccountId",
                AccountName = "TestAccount",
                AccountType = "TestAccountType"
            };
            var accounts = new List <AccountModel> {
                account
            };
            var transaction =
                new TransactionModel
            {
                Amount              = 1,
                Description         = "testDesc",
                TransactionCategory = "testCategory",
                TransactionType     = "testTransaction"
            };

            var transactions = new List <TransactionModel> {
                transaction
            };
            var transactionViewModel = new List <TransactionViewModel>
            {
                new TransactionViewModel
                {
                    Account     = account,
                    Transaction = transactions
                }
            };

            mockStorage.Setup(x => x.Get <List <TransactionViewModel> >("transactionViewModel")).Returns(transactionViewModel);
            var handler = new TransactionSummaryHandler(mockStorage.Object);

            var result = await handler.Handle(It.IsAny <GetTransactionSummaryQuery>(), It.IsAny <CancellationToken>());

            Assert.IsTrue(result.Response.Count > 0);
            Assert.IsInstanceOfType(result.Response, typeof(List <TransactionSummaryViewModel>));
        }