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);
        }
Example #2
0
        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);
        }