public async Task PostAuthor_PassNull_StatusCode400() { //Arrange var config = new MapperConfiguration(cfg => { cfg.AddProfile(new AutoMapperProfiles()); }); var repository = new Mock <ILibraryRepository>(); var mapper = config.CreateMapper(); AuthorForDetailedDto author = null; var controller = new AuthorsController(repository.Object, mapper); //Act var result = await controller.PostAuthor(author); var statusCode = result as StatusCodeResult; //Assert Assert.NotNull(statusCode); Assert.Equal(400, statusCode.StatusCode); }
public async Task <IActionResult> PostAuthor(AuthorForDetailedDto author) { if (author == null) { return(StatusCode(400)); } var authorToSave = _mapper.Map <Author>(author); if (author.Id == 0) { _repo.AddAuthor(authorToSave); } else { _repo.EditAuthor(authorToSave); } await _repo.SaveAll(); return(StatusCode(201, author)); }
public async Task PostAuthor_PassBookForDetailedDtoObject_StatusCode201() { //Arrange var config = new MapperConfiguration(cfg => { cfg.AddProfile(new AutoMapperProfiles()); }); var repository = new Mock <ILibraryRepository>(); var mapper = config.CreateMapper(); AuthorForDetailedDto author = new AuthorForDetailedDto() { Id = 1, Name = "Jan", Surname = "Kowalski" }; var controller = new AuthorsController(repository.Object, mapper); //Act var result = await controller.PostAuthor(author); var objectResult = result as ObjectResult; //Assert Assert.NotNull(objectResult); Assert.Equal(201, objectResult.StatusCode); }