public void AddWrongBook() { Action <int> assertAction = bookId => { var book = CreateValidBook(); book.Id = bookId; Controller.ModelState.Clear(); Controller.Validate(book); Assert.ThrowsException <AssertFailedException>(() => Controller.CreateBook(book).GetMessage().AssertStatusCode()); }; assertAction(-1); assertAction(0); assertAction(1); }
public void PostTest_CreatesBook() { // Arrange var book = new Book { Id = 130, Title = "A Title", Author = "An Author", Description = "A Description", CoverImage = "https://www.animage.com", Price = 101.01 }; // Act var result = _booksController.CreateBook(book).Result.Result as OkObjectResult; // Assert Assert.Equal(200, result.StatusCode); Assert.Equal(book, result.Value); }
public void Add_InvalidObjectPassed_ReturnsBadRequest() { // Arrange var authorMissingItem = new Book() { title = "ToTest", price = 12 }; _controller.ModelState.AddModelError("Author", "Required"); // Act var badResponse = _controller.CreateBook(authorMissingItem); // Assert Assert.IsNotType <CreatedResult>(badResponse); }
public async Task CreateBook_WhenInputIsNull_ReturnsBadRequest() { // Arrange var httpContext = new DefaultHttpContext(); _httpContextAccessorMock.Setup(_ => _.HttpContext).Returns(httpContext); var controller = new BooksController(_bookRepositoryMock.Object, _mapperMock.Object, _httpContextAccessorMock.Object); BookCreateDTO bookDTO = null; // Act var response = await controller.CreateBook(bookDTO); // Assert Assert.IsType <BadRequestObjectResult>(response.Result); }
public void AddBook_ValidInput_ReturnsTheValidBook() { // Arrange var book = new Book { Id = 14, Author = "Abraham", Rating = 1, Name = "Test2", Description = "some desc", Edition = "5" }; _mockRepository.Setup(x => x.AddBook(book)).Returns(book); // Act var actionResult = _controller.CreateBook(book); var contentResult = actionResult as OkNegotiatedContentResult <Book>; // Assert Assert.IsNotNull(contentResult); Assert.IsNotNull(contentResult.Content); }
public async Task GivenValidBookCreation_WhenServiceCreateBook_ThenReturnCreatedRecord() { // arrange var bookCreate = new CreateBookDto { Title = "Test book", Author = "John Doe", Category = "Fantasy" }; // act var result = await _controller.CreateBook(bookCreate); // assert result.ShouldNotBeNull(); result.BookId.ShouldBe(1); result.Author.ShouldNotBeNull(); result.Author.ShouldBe(bookCreate.Author); result.Title.ShouldNotBeNull(); result.Title.ShouldBe(bookCreate.Title); result.Category.ShouldNotBeNull(); result.Category.ShouldBe(bookCreate.Category); _mockService.Verify(x => x.CreateBook(It.IsAny <CreateBookDto>()), Times.Once()); }