public async void ShouldUpdateDeployment() { //Given var now = DateTime.Now; var companyName = "New One"; var calendar = await CalendarRepository.Add(now); await CompanyRepository.Add(new Company { Name = companyName }, true); var dbDeployment = new Deployment { Key = 1, StartDateKey = calendar.Key, StartTime = now.TimeOfDay, EndDateKey = calendar.Key, EndTime = now.TimeOfDay.Add(TimeSpan.FromHours(1)) }; await DeploymentRepository.Add(dbDeployment); // since we are modifying directly and not scoping, we'll need this Context.Entry(dbDeployment).State = EntityState.Detached; var controller = new DeploymentController( new Mock <ILogger <DeploymentController> >().Object, DeploymentRepository, CalendarRepository, CompanyRepository, VehicleRepository ); var deploymentDTO = new DeploymentDTO { Key = 1, StartTime = now, EndTime = now.AddHours(2), CompanyName = companyName }; //When var result = await controller.Update(deploymentDTO.Key, deploymentDTO); dbDeployment = await DeploymentRepository.Find(1); //Then var viewResult = Assert.IsType <OkObjectResult>(result); var model = Assert.IsType <DeploymentDTO>(viewResult.Value); Assert.NotNull(model); Assert.Equal(deploymentDTO.EndTime.Value.TimeOfDay, dbDeployment.EndTime); }