public async Task Handle_CreateWithdrawNegativeBalance_ShouldReturnBusinessException() { var handler = new WithdrawCreateHandler(_mockMediator.Object, _mockRepo.Object); var request = new WithdrawCreateRequest { AccountId = 1, CustomerId = 1, Ammount = 200 }; var account = GetTestAccount(); _mockMediator .Setup(m => m.Send(It.Is <AccountGetRequest>(a => a.AccountId == account.Id), default)) .Returns(Task.FromResult(account)) .Verifiable(); MockWithdrawTransactionType(); await Assert.ThrowsAsync <BusinessException>(() => handler.Handle(request, default)); _mockMediator.Verify(); }
public async Task Handle_CreateWithdrawl_ShouldReturnTransaction() { var handler = new WithdrawCreateHandler(_mockMediator.Object, _mockRepo.Object); var request = new WithdrawCreateRequest { AccountId = 1, CustomerId = 1, Ammount = 10 }; var account = GetTestAccount(); var withdrawalType = GetWithdrawType(); var withdrawTransactions = handler.BuildWithdrawalTransactions(request, account, withdrawalType); MockWithdrawTransactionType(); MockMediator(withdrawTransactions, account); var result = await handler.Handle(request, default); _mockMediator.Verify(); Assert.IsAssignableFrom <IEnumerable <TransactionModel> >(result); Assert.Equal(2, result.Count()); }