public async Task Post_ValidCall() { var mock = AutoMock.GetLoose(); var comic = new ComicBookInputDto(); var controller = mock.Create <ComicBookController>(); var result = await controller.Post(comic); mock.Mock <IComicBookService>().Verify(x => x.AddComicAsync(comic), Times.Once); Assert.IsType <CreatedResult>(result); }
public async Task Post_AddComicThrowsValidationException_ReturnsBadRequestObjectResult() { var mock = AutoMock.GetLoose(); var comic = new ComicBookInputDto(); mock.Mock <IComicBookService>().Setup(x => x.AddComicAsync(comic)).Throws(new ValidationException("error")); var controller = mock.Create <ComicBookController>(); var result = await controller.Post(comic); Assert.IsType <BadRequestObjectResult>(result); }
public async Task Put_UpdateThrowsValidationException_ReturnsBadRequestObjectResult() { var mock = AutoMock.GetLoose(); var comic = new ComicBookInputDto(); mock.Mock <IComicBookService>().Setup(x => x.UpdateComicAsync(1, comic)).Throws <ValidationException>(); var controller = mock.Create <ComicBookController>(); var result = await controller.Put(1, comic); Assert.IsType <BadRequestObjectResult>(result); }
public async Task Put_UpdateThrowsNullReferenceException_ReturnsNotFoundResult() { var mock = AutoMock.GetLoose(); var comic = new ComicBookInputDto(); mock.Mock <IComicBookService>().Setup(x => x.UpdateComicAsync(1, comic)).Throws <NullReferenceException>(); var controller = mock.Create <ComicBookController>(); var result = await controller.Put(1, comic); Assert.IsType <NotFoundResult>(result); }
public async Task Patch_UpdateThrowsValidationException_ReturnsBadRequestObjectResult() { var mock = AutoMock.GetLoose(); var comic = new ComicBookInputDto(); mock.Mock <IComicBookService>().Setup(x => x.ComicToEditAsync(1)).Returns(Task.FromResult(comic)); mock.Mock <IComicBookService>().Setup(x => x.UpdateComicAsync(1, comic)).Throws <ValidationException>(); var controller = mock.Create <ComicBookController>(); var result = await controller.Patch(1, new JsonPatchDocument <ComicBookInputDto>()); Assert.IsType <BadRequestObjectResult>(result); }
public async Task Patch_ValidCall() { var mock = AutoMock.GetLoose(); var comic = new ComicBookInputDto(); mock.Mock <IComicBookService>().Setup(x => x.ComicToEditAsync(1)).Returns(Task.FromResult(comic)); var controller = mock.Create <ComicBookController>(); var result = await controller.Patch(1, new JsonPatchDocument <ComicBookInputDto>()); mock.Mock <IComicBookService>().Verify(x => x.UpdateComicAsync(1, comic), Times.Once); Assert.IsType <CreatedResult>(result); }
public async Task <ActionResult> Post([FromBody] ComicBookInputDto comicDto) { try { await _service.AddComicAsync(comicDto); } catch (ValidationException e) { return(ValidationProblem(new ValidationProblemDetails() { Detail = e.Message })); } return(Created(nameof(Get), null)); }
public async Task <ActionResult> Put(int id, [FromBody] ComicBookInputDto comicDto) { try { await _service.UpdateComicAsync(id, comicDto); } catch (NullReferenceException) { return(NotFound()); } catch (ValidationException e) { return(ValidationProblem(new ValidationProblemDetails() { Detail = e.Message })); } return(Created(nameof(Get), id)); }