Ejemplo n.º 1
0
        public async Task GetBook_ReturnsBookWithCovers_WhenIdIsPassed()
        {
            var bookId   = new Guid("1147AF5C-E2ED-B8C2-D26E-05C472C7BDBD");
            var response = await _client.GetAsync($"books\\{bookId}");

            var book = new BookWithCovers();

            if (response.IsSuccessStatusCode)
            {
                book = JsonSerializer.Deserialize <BookWithCovers>(await response.Content.ReadAsStringAsync(),
                                                                   new JsonSerializerOptions
                {
                    PropertyNameCaseInsensitive = true
                });
            }

            book.Should().BeOfType(typeof(BookWithCovers));
            book.BookCovers.Should().HaveCount(4);
            book.Id.Should().Be(bookId);
            book.Author.Should().Be("James Clavell");
        }
Ejemplo n.º 2
0
        public async Task AddBook_ReturnBookWithCovers_WhenNewBookIsPassedAsParameter()
        {
            var newBook = CreateBookForCreation();

            string jsonObject = Newtonsoft.Json.JsonConvert.SerializeObject(newBook);
            var    payload    = new StringContent(jsonObject, Encoding.UTF8, "application/json");

            var response = await _client.PostAsync($"books", payload);

            var bookWithCovers = new BookWithCovers();

            if (response.IsSuccessStatusCode)
            {
                bookWithCovers = JsonSerializer.Deserialize <Books.API.Models.BookWithCovers>(await response.Content.ReadAsStringAsync(),
                                                                                              new JsonSerializerOptions
                {
                    PropertyNameCaseInsensitive = true
                });
            }

            bookWithCovers.Title.Should().Be(newBook.Title);
            bookWithCovers.Id.Should().NotBe(new Guid());
        }