public void EditIncident() { // Arrange. var testData = GetTestData(); var testEntity = new Incident { Id = 4, ClientId = 1, Theme = "Жалоба", Date = DateTime.Now }; var mockDbSet = new Mock <DbSet <Incident> >(); mockDbSet .As <IQueryable <Incident> >() .Setup(m => m.GetEnumerator()) .Returns(testData.AsQueryable().GetEnumerator()); var mockDbContext = new Mock <BankDbContext>(); mockDbContext .Setup(m => m.Incidents) .Returns(mockDbSet.Object); mockDbContext .Setup(m => m.Entry(It.IsAny <Incident>())) .Callback(() => { testData.ForEach(e => { if (e.Id == testEntity.Id) { e.ClientId = testEntity.ClientId; e.Date = testEntity.Date; e.Text = testEntity.Text; e.Theme = testEntity.Theme; } }); }); var incidentsController = new IncidentsController(mockDbContext.Object); // Act. var actionResult = incidentsController.EditIncident(testEntity.Id, testEntity) as OkResult; var actEntity = testData.Find(e => e.Id == testEntity.Id); // Assert. Assert.IsNotNull(actionResult); Assert.IsInstanceOfType(actionResult, typeof(OkResult)); Assert.AreEqual(testEntity.Id, actEntity.Id); Assert.AreEqual(testEntity.ClientId, actEntity.ClientId); Assert.AreEqual(testEntity.Date, actEntity.Date); Assert.AreEqual(testEntity.Text, actEntity.Text); Assert.AreEqual(testEntity.Theme, actEntity.Theme); }