public void UpdateFrom(BookToEdit bookToEdit) { this.ISBN = bookToEdit.ISBN; this.Name = bookToEdit.Name; this.AuthorName = bookToEdit.AuthorName; this.ReleaseDate = bookToEdit.ReleaseDate; }
public void AddABook_EditTheBook_ShouldReturnTheBookEdited() { var book = new BookToCreate() { ISBN = "-", Name = "Clean Code" }; // In-memory database only exists while the connection is open var connection = new SqliteConnection("DataSource=:memory:"); connection.Open(); try { var options = new DbContextOptionsBuilder <LibraryContext>() .UseSqlite(connection) .Options; // Create the schema in the database using (var context = new LibraryContext(options)) { context.Database.EnsureCreated(); } // Run the test against one instance of the context using (var context = new LibraryContext(options)) { var mockUoW = new Mock <UnitOfWork>(context); var service = new Mock <BooksService>(mockUoW.Object); service.Object.Add(book); context.SaveChanges(); } // Use a separate instance of the context to verify correct data was saved to database using (var context = new LibraryContext(options)) { var mockUoW = new Mock <UnitOfWork>(context); var service = new Mock <BooksService>(mockUoW.Object); var bookRecovered = context.Books.FirstOrDefault(); var bookToEdit = new BookToEdit { ISBN = "123", Name = "Life is Beautiful" }; var result = service.Object.Edit(bookRecovered.Id.ToString(), bookToEdit); result.ISBN.Should().Be(bookToEdit.ISBN); } } finally { connection.Close(); } }
public void Edit_ExistingBook_ShouldReturnOkObjectResult() { var book = new BookToEdit() { ISBN = "ABC123", Name = "Clean Code" }; var result = _controller.Edit("1", book); result.ISBN.Should().Be(book.ISBN); }
public async Task <object> Edit(string id, BookToEdit bookToEdit) { var request = new RestRequest($"/api/books/{id}") { Method = Method.PUT, RequestFormat = DataFormat.Json }; request.AddJsonBody(bookToEdit); var result = await libraryClient.PutAsync <BookToReturn>(request); return(result); }
public BookToReturn Edit(string id, BookToEdit bookToEdit) { var book = unitOfWork.BooksRepository.GetByID(id); if (book == null) { return(null); } book.UpdateFrom(bookToEdit); unitOfWork.Complete(); return(book.ToBookToReturn()); }
public async Task <IActionResult> Edit(string id, [FromBody] BookToEdit bookToEdit) { return(Ok(await booksService.Edit(id, bookToEdit))); }
public BookToReturn Edit([FromRoute] string id, BookToEdit bookToEdit) { return(booksService.Edit(id, bookToEdit)); }