Пример #1
0
        public async Task WhenAmountCreditedSetAccountBalanceMoreThanPreviousBalance()
        {
            //Arrange
            TransactionDto transactionDto = new()
            {
                TransactionAmount = 1000,
                TransactionTypeId = 1,
                AccountId         = 1
            };
            Transaction transaction = new()
            {
                TransactionId     = 5,
                TransactionAmount = 2000,
                AccountBalance    = 3000,
                AccountId         = 1
            };
            Mock <ITransactionRepository> mockTransactionRepository = new();

            mockTransactionRepository.Setup(f => f.GetLatestTransactionAsync(transactionDto.AccountId)).Returns(Task.FromResult(transaction));
            Mock <ITransactionCurrencyConverterService> mockTransactionCurrencyConverterService = new();
            TransactionLogic transactionLogic = new TransactionLogic(mockTransactionRepository.Object, mockTransactionCurrencyConverterService.Object);

            //Act
            var result = await transactionLogic.SetAccountBalanceForCreditAndDebit(transactionDto);

            //Assert
            Assert.AreEqual(4000, transactionDto.AccountBalance);
            Assert.AreEqual(result, true);
        }

        [TestMethod]