public async Task Post_given_valid_study_calls_CreateAsync() { // Arrange var repository = new Mock <IStudyRepository>(); var controller = new StudyController(repository.Object, log.Object); var study = new StudyNoIdDTO(); // Act await controller.Post(study); // Assert repository.Verify(r => r.CreateAsync(study)); }
public async Task Post_given_invalid_study_doesnot_call_CreateAsync() { // Arrange var repository = new Mock <IStudyRepository>(); var controller = new StudyController(repository.Object, log.Object); controller.ModelState.AddModelError(string.Empty, "Error"); var study = new StudyNoIdDTO(); // Act await controller.Post(study); // Assert repository.Verify(r => r.CreateAsync(It.IsAny <StudyNoIdDTO>()), Times.Never); }
public async Task Post_given_invalid_study_returns_BadRequest() { // Arrange var repository = new Mock <IStudyRepository>(); var controller = new StudyController(repository.Object, log.Object); controller.ModelState.AddModelError(string.Empty, "Error"); var study = new StudyNoIdDTO(); // Act var result = await controller.Post(study); // Assert Assert.IsType <BadRequestObjectResult>(result); }
public async Task Post_given_valid_study_returns_CreatedAtAction() { // Arrange var repository = new Mock <IStudyRepository>(); repository.Setup(r => r.CreateAsync(It.IsAny <StudyNoIdDTO>())).ReturnsAsync(11); var controller = new StudyController(repository.Object, log.Object); var study = new StudyNoIdDTO(); // Act var result = await controller.Post(study) as CreatedAtActionResult; // Assert Assert.Equal(nameof(StudyController.Get), result.ActionName); Assert.Equal(11, result.RouteValues["id"]); }