Ejemplo n.º 1
0
        public async Task Handle_CreateTransferSameAccount_ShouldReturnBusinessException()
        {
            var handler = new TransferCreateHandler(_mockMediator.Object, _mockRepo.Object);

            var request = new TransferCreateRequest {
                AccountId = 1, CustomerId = 1, Ammount = 100, RecipientAccountId = 1, RecipientCustomerId = 2
            };

            await Assert.ThrowsAsync <BusinessException>(() => handler.Handle(request, default));
        }
Ejemplo n.º 2
0
        public async Task Handle_CreateTransferNegativeBalance_ShouldReturnBusinessException()
        {
            var handler = new TransferCreateHandler(_mockMediator.Object, _mockRepo.Object);

            var request = new TransferCreateRequest {
                AccountId = 1, CustomerId = 1, Ammount = 200, RecipientAccountId = 2, RecipientCustomerId = 2
            };
            var accountFrom = GetTestFromAccount();

            _mockMediator
            .Setup(m => m.Send(It.Is <AccountGetRequest>(a => a.AccountId == accountFrom.Id), default))
            .Returns(Task.FromResult(accountFrom))
            .Verifiable();

            MockTransferTransactionType();

            await Assert.ThrowsAsync <BusinessException>(() => handler.Handle(request, default));

            _mockMediator.Verify();
        }
Ejemplo n.º 3
0
        public async Task Handle_CreateTransfer_ShouldReturnTransaction()
        {
            var handler = new TransferCreateHandler(_mockMediator.Object, _mockRepo.Object);

            var request = new TransferCreateRequest {
                AccountId = 1, CustomerId = 1, Ammount = 10, RecipientAccountId = 2, RecipientCustomerId = 2
            };
            var accountFrom  = GetTestFromAccount();
            var accountTo    = GetTestToAccount();
            var transferType = GetTransferType();

            var transferTransactions = handler.BuildTransferTransactions(request, accountFrom, accountTo, transferType);

            MockTransferTransactionType();
            MockMediator(transferTransactions, accountFrom, accountTo);

            var result = await handler.Handle(request, default);

            _mockMediator.Verify();
            Assert.IsAssignableFrom <IEnumerable <TransactionModel> >(result);
            Assert.Equal(3, result.Count());
        }