public async Task <IActionResult> Put(Guid id, EditBookRequest request) { request.Id = id; var result = await _bookService.EditBookAsync(request); return(Ok(result)); }
public async Task update_should_returns_not_found_when_book_is_not_present(EditBookRequest request) { var client = _factory.CreateClient(); var httpContent = new StringContent(JsonConvert.SerializeObject(request), Encoding.UTF8, "application/json"); var response = await client.PutAsync($"/api/books/{Guid.NewGuid()}", httpContent); response.StatusCode.ShouldBe(HttpStatusCode.NotFound); }
public async Task update_should_returns_bad_request_if_genreid_not_exist(EditBookRequest request) { var client = _factory.CreateClient(); request.GenreId = Guid.NewGuid(); var httpContent = new StringContent(JsonConvert.SerializeObject(request), Encoding.UTF8, "application/json"); var response = await client.PutAsync($"/api/books/{request.Id}", httpContent); response.StatusCode.ShouldBe(HttpStatusCode.BadRequest); }
public async Task <BookResponse> EditBookAsync(EditBookRequest request) { var existingRecord = await _bookRepository.GetAsync(request.Id); if (existingRecord == null) { throw new ArgumentException($"Entity with {request.Id} is not present"); } var entity = _bookMapper.Map(request); var result = _bookRepository.Update(entity); await _bookRepository.UnitOfWork.SaveChangesAsync(); return(_bookMapper.Map(result)); }
public async Task update_should_modify_existing_books(EditBookRequest request) { var client = _factory.CreateClient(); var httpContent = new StringContent(JsonConvert.SerializeObject(request), Encoding.UTF8, "application/json"); var response = await client.PutAsync($"/api/books/{request.Id}", httpContent); response.EnsureSuccessStatusCode(); var responseContent = await response.Content.ReadAsStringAsync(); var responseEntity = JsonConvert.DeserializeObject <BookResponse>(responseContent); responseEntity.Name.ShouldBe(request.Name); responseEntity.Description.ShouldBe(request.Description); responseEntity.Format.ShouldBe(request.Format); responseEntity.PictureUri.ShouldBe(request.PictureUri); responseEntity.GenreId.ShouldBe(request.GenreId); responseEntity.AuthorId.ShouldBe(request.AuthorId); }
public async Task editBook_should_add_right_entity() { var testBook = new EditBookRequest { Id = new Guid("b5b05534-9263-448c-a69e-0bbd8b3eb90e"), Name = "Test album", GenreId = new Guid("c04f05c0-f6ad-44d1-a400-3375bfb5dfd6"), AuthorId = new Guid("f08a333d-30db-4dd1-b8ba-3b0473c7cdab"), Price = new Price { Amount = 13, Currency = "EUR" } }; BookService sut = new BookService(_bookRepository, _mapper); var result = await sut.EditBookAsync(testBook); result.Name.ShouldBe(testBook.Name); result.Description.ShouldBe(testBook.Description); result.GenreId.ShouldBe(testBook.GenreId); result.AuthorId.ShouldBe(testBook.AuthorId); result.Price.Amount.ShouldBe(testBook.Price.Amount); result.Price.Currency.ShouldBe(testBook.Price.Currency); }
public async Task <IActionResult> Edit([FromBody] EditBookRequest editBookRequest) { await _bookService.Edit(editBookRequest); return(Ok()); }