public Book Add(BookToCreate bookToCreate) { var book = Book.CreateFrom(bookToCreate); unitOfWork.BooksRepository.Insert(book); unitOfWork.Complete(); return(book); }
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 static Book CreateFrom(BookToCreate bookToCreate) { var book = Create <Book>(); book.ISBN = bookToCreate.ISBN; book.Name = bookToCreate.Name; book.ReleaseDate = bookToCreate.ReleaseDate; book.AuthorName = bookToCreate.AuthorName; return(book); }
public async Task <object> Add(BookToCreate bookToCreate) { var request = new RestRequest("/api/books") { Method = Method.POST, RequestFormat = DataFormat.Json }; request.AddJsonBody(bookToCreate); var result = await libraryClient.ExecutePostAsync <BookToReturn>(request); return(result.Data); }
public IActionResult CreateBook([FromBody] BookToCreate newBook) { if (ModelState.IsValid) { _context.BooksList.Add(new Books(newBook.IBIN.Value, newBook.Title, newBook.Type.Value, newBook.AuthorId)); _context.SaveChanges(); return(Ok()); } else { return(BadRequest(ModelState)); } }
public void GetAllBooks_Add2BooksToTheRepository_ShouldReturn2Books() { // 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); var books = new BookToCreate[] { new BookToCreate { Name = "Livro 1", ISBN = "ABC123" }, new BookToCreate { Name = "Livro 2", ISBN = "DEF123" } }; service.Object.AddRange(books); context.SaveChanges(); } // Use a separate instance of the context to verify correct data was saved to database using (var context = new LibraryContext(options)) { context.Books.Should().HaveCount(2, "2 books was added to the repository"); } } finally { connection.Close(); } }
public async Task <IActionResult> Add([FromBody] BookToCreate bookToAdd) { return(Ok(await booksService.Add(bookToAdd))); }
public Book Add(BookToCreate bookToCreate) { return(booksService.Add(bookToCreate)); }