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"); }
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()); }