Beispiel #1
0
        public void TransferMoney_Should_ThrowMoneyNotEnoughException_When_TotalBalanceIsLessThanAmoutToTransfer()
        {
            var sender = "NL95INGB1938035321";
            var payee  = "NL13ABNA7035378898";
            var dto    = new TransferMoneyDto
            {
                payee_iban_number  = payee,
                sender_iban_number = sender,
                amount             = 2000
            };

            Account senderInstance = new Account();
            Account payeeInstance  = new Account();

            MockAccountRepository.Setup(x => x.GetByIBanNumber(sender)).Returns(Task.FromResult(senderInstance));
            MockAccountRepository.Setup(x => x.GetByIBanNumber(payee)).Returns(Task.FromResult(payeeInstance));

            IEnumerable <Statement> statements = new List <Statement>
            {
                new Statement {
                    Amount = 100
                },
                new Statement {
                    Amount = 1000
                }
            };

            MockStatementRepository.Setup(x => x.GetByAccountId(It.IsAny <int>())).Returns(Task.FromResult(statements));

            Assert.ThrowsAsync <MoneyNotEnoughException>(() => _testService.TransferMoney(dto));
        }
        public void Deposit_Should_Success_When_DtoIsValid()
        {
            var dto = new StatementDepositDto
            {
                iban_number = "NL13ABNA7035378898",
                amount      = 100
            };

            MockAccountRepository.Setup(x => x.HasAccount(It.IsAny <string>())).Returns(Task.FromResult(true));
            MockStatementRepository.Setup(x => x.Add(It.IsAny <Statement>())).Returns(Task.FromResult(new Statement()));

            var result = _testService.Deposit(dto).Result;

            Assert.IsNotNull(result);
        }
Beispiel #3
0
        public void TransferMoney_Should_Success_When_AmountIsLessThanTotalBalance()
        {
            var sender = "NL95INGB1938035321";
            var payee  = "NL13ABNA7035378898";
            var dto    = new TransferMoneyDto
            {
                payee_iban_number  = payee,
                sender_iban_number = sender,
                amount             = 2000
            };

            Account senderInstance = new Account();
            Account payeeInstance  = new Account();

            MockAccountRepository.Setup(x => x.GetByIBanNumber(sender)).Returns(Task.FromResult(senderInstance));
            MockAccountRepository.Setup(x => x.GetByIBanNumber(payee)).Returns(Task.FromResult(payeeInstance));

            IEnumerable <Statement> statements = new List <Statement>
            {
                new Statement {
                    Amount = 100
                },
                new Statement {
                    Amount = 1000
                },
                new Statement {
                    Amount = 10000
                }
            };

            MockStatementRepository.Setup(x => x.GetByAccountId(It.IsAny <int>())).Returns(Task.FromResult(statements));

            TransferMoneyResultDto resultDto = new TransferMoneyResultDto {
                success = true
            };

            MockTransactionRepository.Setup(x => x.SaveTransferringMoney(It.IsAny <TransferMoneyFullDto>())).Returns(Task.FromResult(resultDto));

            var result = _testService.TransferMoney(dto).Result;

            Assert.IsTrue(result.success);
        }