Exemplo n.º 1
0
        public void ImportBooks_When_ShopDoesNotExist_ReturnsNotFound()
        {
            var request  = BookRequestHelper.ImportBooks("UnexistingShop", "test.xlsx", @"Books/test.xlsx");
            var response = this.restClient.Execute <ImportBooksResponse>(request);

            Assert.AreEqual(HttpStatusCode.NotFound, response.StatusCode);
        }
Exemplo n.º 2
0
        public void CreateBook_When_NoBookSent_ReturnsBadRequest()
        {
            var request  = BookRequestHelper.CreateBook(shopName, null);
            var response = this.restClient.Execute <BookResponse>(request);

            Assert.AreEqual(HttpStatusCode.BadRequest, response.StatusCode);
        }
Exemplo n.º 3
0
        public void UpdateBook_When_BookUpdated_ReturnsOk()
        {
            var ticks       = DateTime.UtcNow.Ticks;
            var updatedBook = new BookRequest
            {
                ISBN            = EXISTING_BOOK,
                Title           = "Existing Book",
                Author          = "Existing Author",
                Publisher       = "Existing Publisher",
                CoverUrl        = $"{ticks}",
                Price           = 10,
                ReducedPrice    = 5,
                AvailableCopies = 5,
                TotalCopies     = 5
            };

            var request  = BookRequestHelper.UpdateBook(shopName, updatedBook.ISBN, updatedBook);
            var response = this.restClient.Execute <BookResponse>(request);

            Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
            Assert.NotNull(response.Data);
            Assert.AreEqual(updatedBook.ISBN, response.Data.ISBN);
            Assert.AreEqual(updatedBook.Title, response.Data.Title);
            Assert.AreEqual(updatedBook.CoverUrl, response.Data.CoverUrl);
        }
Exemplo n.º 4
0
        public void DeleteBook_When_BookDoesNotExist_ReturnsNotFound()
        {
            var request  = BookRequestHelper.DeleteBook(shopName, UNEXISTING_BOOK);
            var response = this.restClient.Execute <BookResponse>(request);

            Assert.AreEqual(HttpStatusCode.NotFound, response.StatusCode);
        }
Exemplo n.º 5
0
        public void GetAllBooks_When_ShopDoesNotExist_ReturnsNotFound()
        {
            var request  = BookRequestHelper.GetAllBooks("UnexistingShop");
            var response = this.restClient.Execute <List <BookResponse> >(request);

            Assert.AreEqual(HttpStatusCode.NotFound, response.StatusCode);
        }
Exemplo n.º 6
0
        public void GetBook__When_BookDoesntExist_Returns404()
        {
            var request  = BookRequestHelper.GetBook(shopName, UNEXISTING_BOOK);
            var response = this.restClient.Execute(request);

            Assert.AreEqual(HttpStatusCode.NotFound, response.StatusCode);
        }
Exemplo n.º 7
0
        public void GetBook_When_ShopDoesNotExist_ReturnsNotFound()
        {
            var request  = BookRequestHelper.GetBook("UnexistingShop", EXISTING_BOOK);
            var response = this.restClient.Execute <BookResponse>(request);

            Assert.AreEqual(HttpStatusCode.NotFound, response.StatusCode);
        }
Exemplo n.º 8
0
        public void GetAllBooks_When_ThereAreNoBooks_ReturnsEmptyOk()
        {
            var request  = BookRequestHelper.GetAllBooks("EmptyShop");
            var response = this.restClient.Execute <List <BookResponse> >(request);

            Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
            Assert.NotNull(response.Data);
            Assert.True(response.Data.Count == 0);
        }
Exemplo n.º 9
0
        public void GetBook_When_BookExists_Returns200()
        {
            var request  = BookRequestHelper.GetBook(shopName, EXISTING_BOOK);
            var response = this.restClient.Execute <BookResponse>(request);

            Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
            Assert.NotNull(response.Data);
            Assert.AreEqual(EXISTING_BOOK, response.Data.ISBN);
        }
Exemplo n.º 10
0
        public void DeleteBook_When_BookDeleted_ReturnsNoContent()
        {
            var isbn = this.InsertBook();

            var request = BookRequestHelper.DeleteBook(shopName, isbn);

            var response = this.restClient.Execute <BookResponse>(request);

            Assert.AreEqual(HttpStatusCode.NoContent, response.StatusCode);
        }
Exemplo n.º 11
0
        public void ImportBooks_When_ExcelIsCorrectButBooksAlreadyExists_ReturnsCreated()
        {
            var request  = BookRequestHelper.ImportBooks(this.shop, "test.xlsx", @"Books/test.xlsx");
            var response = this.restClient.Execute <ImportBooksResponse>(request);

            Assert.AreEqual(HttpStatusCode.Created, response.StatusCode);
            Assert.NotNull(response.Data);
            Assert.AreEqual(0, response.Data.BooksInserted);
            Assert.AreEqual(7, response.Data.TotalBooks);
        }
Exemplo n.º 12
0
        public void CreateBook_When_BookAlreadyExists_ReturnsConflict()
        {
            var newBook = new BookRequest
            {
                ISBN            = EXISTING_BOOK,
                Title           = "Existing Book",
                Author          = "Existing Author",
                Publisher       = "Existing Publisher",
                CoverUrl        = "CoverUrl",
                Price           = 10,
                ReducedPrice    = 5,
                AvailableCopies = 5,
                TotalCopies     = 5
            };

            var request  = BookRequestHelper.CreateBook(shopName, newBook);
            var response = this.restClient.Execute <BookResponse>(request);

            Assert.AreEqual(HttpStatusCode.Conflict, response.StatusCode);
        }
Exemplo n.º 13
0
        public void UpdateBook_When_BookDoesNotExist_ReturnsNotFound()
        {
            var updatedBook = new BookRequest
            {
                ISBN            = NON_EXISTING_BOOK,
                Title           = "Non Existing Book",
                Author          = "Non Existing Author",
                Publisher       = "Non Existing Publisher",
                CoverUrl        = null,
                Price           = 10,
                ReducedPrice    = 5,
                AvailableCopies = 5,
                TotalCopies     = 5
            };

            var request  = BookRequestHelper.UpdateBook(shopName, NON_EXISTING_BOOK, updatedBook);
            var response = this.restClient.Execute <BookResponse>(request);

            Assert.AreEqual(HttpStatusCode.NotFound, response.StatusCode);
        }
Exemplo n.º 14
0
        public void UpdateBook_When_BookUpdatedWithDifferentISBN_ReturnsBadRequest()
        {
            var ticks       = DateTime.UtcNow.Ticks;
            var updatedBook = new BookRequest
            {
                ISBN            = EXISTING_BOOK + 1,
                Title           = "Existing Book",
                Author          = "Existing Author",
                Publisher       = "Existing Publisher",
                CoverUrl        = $"{ticks}",
                Price           = 10,
                ReducedPrice    = 5,
                AvailableCopies = 5,
                TotalCopies     = 5
            };

            var request  = BookRequestHelper.UpdateBook(shopName, EXISTING_BOOK, updatedBook);
            var response = this.restClient.Execute <BookResponse>(request);

            Assert.AreEqual(HttpStatusCode.BadRequest, response.StatusCode);
        }
Exemplo n.º 15
0
        public void UpdateBook_When_ShopDoesNotExist_ReturnsNotFound()
        {
            var ticks       = DateTime.UtcNow.Ticks;
            var updatedBook = new BookRequest
            {
                ISBN            = EXISTING_BOOK,
                Title           = "Existing Book",
                Author          = "Existing Author",
                Publisher       = "Existing Publisher",
                CoverUrl        = $"{ticks}",
                Price           = 10,
                ReducedPrice    = 5,
                AvailableCopies = 5,
                TotalCopies     = 5
            };

            var request  = BookRequestHelper.UpdateBook("UnexistingShop", updatedBook.ISBN, updatedBook);
            var response = this.restClient.Execute <BookResponse>(request);

            Assert.AreEqual(HttpStatusCode.NotFound, response.StatusCode);
        }
Exemplo n.º 16
0
        private long InsertBook()
        {
            var isbn    = new Random().Next();
            var newBook = new BookRequest
            {
                ISBN            = isbn,
                Title           = $"Random Book {isbn}",
                Author          = "Random Author",
                Publisher       = "Random Publisher",
                CoverUrl        = "Random CoverUrl",
                Price           = 10,
                ReducedPrice    = 5,
                AvailableCopies = 5,
                TotalCopies     = 5
            };

            var request  = BookRequestHelper.CreateBook(shopName, newBook);
            var response = this.restClient.Execute <BookResponse>(request);

            return(response.Data.ISBN);
        }
Exemplo n.º 17
0
        public void CreateBook_When_ShopDoesNotExist_ReturnsNotFound()
        {
            var isbn    = new Random().Next();
            var newBook = new BookRequest
            {
                ISBN            = isbn,
                Title           = $"Random Book {isbn}",
                Author          = "Random Author",
                Publisher       = "Random Publisher",
                CoverUrl        = "Random CoverUrl",
                Price           = 10,
                ReducedPrice    = 5,
                AvailableCopies = 5,
                TotalCopies     = 5
            };

            var request  = BookRequestHelper.CreateBook("UnexistingShop", newBook);
            var response = this.restClient.Execute <BookResponse>(request);

            Assert.AreEqual(HttpStatusCode.NotFound, response.StatusCode);
        }
Exemplo n.º 18
0
        public void CreateBook_When_NewBookCreated_ReturnsCreated()
        {
            var isbn    = new Random().Next();
            var newBook = new BookRequest
            {
                ISBN            = isbn,
                Title           = $"Random Book {isbn}",
                Author          = "Random Author",
                Publisher       = "Random Publisher",
                CoverUrl        = "Random CoverUrl",
                Price           = 10,
                ReducedPrice    = 5,
                AvailableCopies = 5,
                TotalCopies     = 5
            };

            var request  = BookRequestHelper.CreateBook(shopName, newBook);
            var response = this.restClient.Execute <BookResponse>(request);

            Assert.AreEqual(HttpStatusCode.Created, response.StatusCode);
            Assert.NotNull(response.Data);
            Assert.AreEqual(newBook.ISBN, response.Data.ISBN);
            Assert.AreEqual(newBook.Title, response.Data.Title);
        }