public async Task When_SendMoney_And_NoCurrencyFound_Then_ShouldReturn_Exception() { var fixture = new Fixture(); var userId = 0; var sendMoneyDto = new SendMoneyRequestDto(0, null, 0, 0); var user = fixture.Build <User>().With(x => x.Balances, new List <Balance>()).Create(); Currency currency = null; try { _userRepositoryMock.Setup(x => x.GetAsync(userId)).Returns(Task.FromResult(user)); _currencyRepository.Setup(x => x.GetAsync(sendMoneyDto.CurrencyName)) .Returns(Task.FromResult(currency)); var moneyExchangeService = new MoneyExchangeAppService(_userRepositoryMock.Object, _currencyRepository.Object); await moneyExchangeService.SendMoney(sendMoneyDto); Assert.Fail(); } catch (Exception e) { Assert.Pass(); } }