public async Task VerifyGetDebitTransaction_ReturnAccountViewModelTestAsync() { var account = AccountMock.AccountModelFaker.Generate(); var transactionDebitInputViewModel = TransactionMock.TransactionDebitInputViewModelModelFaker.Generate(); _mapperMock.Setup(x => x.Map <Transaction>(It.IsAny <TransactionInputViewModel>())) .Returns(TransactionMock.TransactionModelFakerTyped(transactionDebitInputViewModel).Generate()); _mapperMock.Setup(x => x.Map <TransactionViewModel>(It.IsAny <Transaction>())) .Returns(TransactionMock.TransactionViewModelModelFaker.Generate()); _accountRepositoryMock.Setup(x => x.GetAccountById(account.Id)) .ReturnsAsync(AccountMock.AccountModelFaker.Generate()); _transactionServiceMock.Setup(x => x.DebitAccount(It.IsAny <Transaction>())) .Returns(Task.CompletedTask); var accountAppService = new AccountAppService(_accountRepositoryMock.Object, _mapperMock.Object, _transactionServiceMock.Object, _domainNotificationMock.Object); var accountMethod = await accountAppService.Transaction(transactionDebitInputViewModel); var accountResult = Assert.IsAssignableFrom <TransactionViewModel>(accountMethod); _transactionServiceMock.Verify(x => x.DebitAccount(It.IsAny <Transaction>()), Times.Once()); Assert.NotNull(accountResult); }