Ejemplo n.º 1
0
        public void GetById_ReturnsNotFoundResult()
        {
            // Act
            var notFoundResult = _controller.GetBookById(100);

            // Assert
            Assert.IsType <NotFoundResult>(notFoundResult.Result);
        }
Ejemplo n.º 2
0
        public void GetTest_ReturnsBookById()
        {
            // Act
            int bookId = 100;
            var result = _booksController.GetBookById(bookId).Result;

            // Assert
            Assert.Equal(bookId, result.Value.Id);
        }
Ejemplo n.º 3
0
        public async Task Get_BookById_BadRequest400()
        {
            // Arrange.
            var ctx        = new CatalogDbContext(_dbOptions);
            var controller = new BooksController(ctx);
            var id         = -2;

            // Act.
            var result = await controller.GetBookById(id);

            // Assert.
            Assert.IsType <BadRequestResult>(result.Result);
        }
Ejemplo n.º 4
0
        public async Task Get_BookById_NotFound404()
        {
            // Arrange.
            var ctx        = new CatalogDbContext(_dbOptions);
            var controller = new BooksController(ctx);
            var id         = 200;

            // Act.
            var result = await controller.GetBookById(id);

            // Assert.
            Assert.IsType <NotFoundResult>(result.Result);
        }
        public async Task GetBookById_Id_NonExistent_ReturnsNotFound()
        {
            // Arrange
            var httpContext = new DefaultHttpContext();

            _httpContextAccessorMock.Setup(_ => _.HttpContext).Returns(httpContext);

            var controller = new BooksController(_bookRepositoryMock.Object, _mapperMock.Object, _httpContextAccessorMock.Object);

            // Act
            var response = await controller.GetBookById(9999);

            // Assert
            Assert.IsType <NotFoundObjectResult>(response.Result);
        }
Ejemplo n.º 6
0
        public void GetBookById_IdDoesNotExist()
        {
            // Arrange:
            var controller = new BooksController(_booksService, _reviewsService);


            // Act:
            var result         = controller.GetBookById(90);
            var notFoundResult = result as NotFoundObjectResult;


            // Assert:
            Assert.IsNotNull(result);
            Assert.AreEqual(404, notFoundResult.StatusCode);
        }
Ejemplo n.º 7
0
        public void GetBookById_IdExists()
        {
            // Arrange:
            var controller = new BooksController(_booksService, _reviewsService);


            // Act:
            var result   = controller.GetBookById(2);
            var okResult = result as OkObjectResult;


            // Assert:
            Assert.IsNotNull(result);
            Assert.AreEqual(200, okResult.StatusCode);
        }
Ejemplo n.º 8
0
        public void GetBooksReviews_InvalidId()
        {
            // Arrange:
            var controller = new BooksController(_booksService, _reviewsService);
            var bookId     = 20;

            // Act:
            var result         = controller.GetBookById(bookId);
            var notFoundResult = result as NotFoundObjectResult;


            // Assert:
            Assert.IsNotNull(result);
            Assert.AreEqual(404, notFoundResult.StatusCode);
        }
        public async Task GivenValidId_WhenGetBookById_ThenReturnRecord()
        {
            // arrange
            const int bookId = 1;
            // act
            var result = await _controller.GetBookById(bookId);

            // assert
            result.ShouldNotBeNull();
            result.BookId.ShouldBe(1);
            result.Author.ShouldNotBeNull();
            result.Author.ShouldBe("John Doe");
            result.Title.ShouldNotBeNull();
            result.Title.ShouldBe("Test book");
            result.Category.ShouldNotBeNull();
            result.Category.ShouldBe("Fantasy");
            _mockService.Verify(x => x.GetBookById(It.IsAny <int>()), Times.Once());
        }
Ejemplo n.º 10
0
        public async Task Get_BookById_Success200()
        {
            // Arrange.
            var ctx        = new CatalogDbContext(_dbOptions);
            var controller = new BooksController(ctx);
            var id         = 1;

            // Act.
            var result = await controller.GetBookById(id);

            // Assert.
            var b = Assert.IsAssignableFrom <BookOutputViewModel>(result.Value);

            Assert.Equal(id, b.Id);
            Assert.Equal("Title", b.Title);
            Assert.Equal("9780394415760", b.Isbn);
            Assert.Equal(52, b.NumberOfPages);
            Assert.Contains(b.Authors, a => a.Name == "Peter");
        }
Ejemplo n.º 11
0
        public void GetBookByIdTest()
        {
            var     myProfile     = new BooksProfile();
            var     configuration = new MapperConfiguration(cfg => cfg.AddProfile(myProfile));
            IMapper mapper        = new Mapper(configuration);

            Mock <IPodzielSieKsiazkaRepo> userRepo = new Mock <IPodzielSieKsiazkaRepo>();
            var items = new List <Book>()
            {
                new Book
                {
                    Author      = "test 1 author",
                    Category    = CategoryOfBook.Fantasy,
                    Description = "asdbsdfsdfsdfs",
                    Id          = 1,
                    Isbn        = "1234567890",
                    Latitude    = 34,
                    Longitude   = 34,
                    Owner       = new User(),
                    Title       = "test 1 title",
                    AddedDate   = DateTime.Now,
                    ImgUrl      = "cos/url",
                    IsAvaible   = true,
                    UserId      = 1
                },
                new Book
                {
                    Author      = "test 1 author",
                    Category    = CategoryOfBook.Fantasy,
                    Description = "asdbsdfsdfsdfs",
                    Id          = 2,
                    Isbn        = "1234567890",
                    Latitude    = 34,
                    Longitude   = 34,
                    Owner       = new User(),
                    Title       = "test 1 title",
                    AddedDate   = DateTime.Now,
                    ImgUrl      = "cos/url",
                    IsAvaible   = true,
                    UserId      = 1
                },
                new Book
                {
                    Author      = "test 1 author",
                    Category    = CategoryOfBook.Fantasy,
                    Description = "asdbsdfsdfsdfs",
                    Id          = 3,
                    Isbn        = "1234567890",
                    Latitude    = 34,
                    Longitude   = 34,
                    Owner       = new User(),
                    Title       = "test 1 title",
                    AddedDate   = DateTime.Now,
                    ImgUrl      = "cos/url",
                    IsAvaible   = true,
                    UserId      = 1
                }
            };

            userRepo.Setup(m => m.GetBookById(1)).Returns(items[1]);
            userRepo.Setup(m => m.GetBookById(2)).Returns(items[2]);
            userRepo.Setup(m => m.GetBookById(0)).Returns(items[0]);

            BooksController controller = new BooksController(
                userRepo.Object, mapper);

            var         result   = controller.GetBookById(1);
            var         okResult = result.Result as OkObjectResult;
            BookReadDto book     = (BookReadDto)okResult?.Value;

            Debug.Assert(book != null, nameof(book) + " != null");
            Assert.AreEqual(items[1].Id, book.Id);
            Assert.AreNotEqual(items[2].Id, book.Id);
            Assert.AreEqual(items[1].Category, book.Category);
        }