public async Task Put_when_repository_Update_returns_false_returns_NotFound() { var study = new StudyDTO { Id = 42, Name = "Name" }; var repository = new Mock <IStudyRepository>(); var controller = new StudiesController(repository.Object); var result = await controller.Put(42, study); Assert.IsType <NotFoundResult>(result); }
public async Task Put_when_not_ModelState_IsValid_returns_BadRequest() { var study = new StudyDTO { Id = 42 }; var controller = new StudiesController(null); controller.ModelState.AddModelError("", ""); var result = await controller.Put(42, study); Assert.IsType <BadRequestObjectResult>(result); }
public async Task Put_when_repository_Update_returns_true_returns_NoContent() { var study = new StudyDTO { Id = 42, Name = "Name" }; var repository = new Mock <IStudyRepository>(); repository.Setup(r => r.UpdateAsync(study)).ReturnsAsync(true); var controller = new StudiesController(repository.Object); var result = await controller.Put(42, study); Assert.IsType <NoContentResult>(result); }
public async Task Put_when_not_ModelState_IsValid_does_not_call_repository() { var study = new StudyDTO { Id = 42, Name = "Name" }; var repository = new Mock <IStudyRepository>(); var controller = new StudiesController(repository.Object); controller.ModelState.AddModelError("", ""); await controller.Put(42, study); repository.Verify(r => r.UpdateAsync(study), Times.Never); }