public async Task BetService_UpdateAsync_WithInvalidModelReturnsErrors() { var mockUnitOfWork = new Mock <IUnitOfWork>(); mockUnitOfWork.Setup(m => m.BetRepository.Update(It.IsAny <Bet>())); mockUnitOfWork .Setup(m => m.LotRepository.GetByIdAsync(It.IsAny <int>())) .ReturnsAsync( new Lot { Id = 1, Bets = new List <Bet>() { new Bet { Id = 1, Sum = 100 } }, }); var betService = new BetService(mockUnitOfWork.Object, UnitTestHelper.CreateMapperProfile()); var bet = new BetModel { Id = 1, LotId = 1, UserId = "3", BetDate = DateTime.UtcNow.AddDays(4), Sum = 50 }; var result = await betService.UpdateAsync(bet); Assert.IsTrue(result.Succedeed); mockUnitOfWork.Verify( m => m.BetRepository.Update(It.Is <Bet>( b => b.LotId == bet.LotId && b.UserId == bet.UserId && b.BetDate == bet.BetDate && b.Sum == bet.Sum)), Times.Once); mockUnitOfWork.Verify( m => m.SaveAsync(), Times.Once); }