public void ShouldAddNewBookToDatabase() { var book = new Book(); _libraryRepository.AddNewBook(book); _booksDbSetMock.Verify(x => x.Add(book)); }
public void AddNewBookAlreadyExisting(string isbn, string name, double price) { var newBook = new Book { ISBN = isbn, Name = name }; // Mock the validators var mockValidator = new Mock <IValidationService>(); mockValidator.Setup(x => x.isValidBook(newBook)).Returns(true); mockValidator.Setup(x => x.IsValidQuantity(1)).Returns(true); mockValidator.Setup(x => x.IsValidPrice(price)).Returns(true); var dependencyService = new DependencyService(); dependencyService.Register <IValidationService>(mockValidator.Object); var availableBooks = new List <BookProductInfo> { new BookProductInfo { Book = newBook } }; var library = new LibraryRepository(availableBooks, dependencyService); var addResult = library.AddNewBook(newBook, price); Assert.False(addResult); var addedBook = library.AvailableBooks.FirstOrDefault(item => item.Book.ISBN == isbn); Assert.Equal(1, addedBook.Quantity); }
public void AddNewBookSuccess(string isbn, string name, double price) { var newBook = new Book { ISBN = isbn, Name = name }; // Mock the validators var mockValidator = new Mock <IValidationService>(); mockValidator.Setup(x => x.isValidBook(newBook)).Returns(true); mockValidator.Setup(x => x.IsValidQuantity(1)).Returns(true); mockValidator.Setup(x => x.IsValidPrice(price)).Returns(true); var dependencyService = new DependencyService(); dependencyService.Register <IValidationService>(mockValidator.Object); var availableBooks = new List <BookProductInfo>(); var library = new LibraryRepository(availableBooks, dependencyService); var addResult = library.AddNewBook(newBook, price); Assert.True(addResult); var addedBook = Assert.Single(library.AvailableBooks); Assert.NotNull(addedBook); Assert.Equal(isbn, addedBook.Book.ISBN); Assert.Equal(name, addedBook.Book.Name); Assert.Equal(price, addedBook.BorrowPrice); }
public void AddNewBookAllValidationsFailedNotAlteringTheList(string isbn, string name, double price) { var newBook = new Book { ISBN = isbn, Name = name }; var mockValidator = new Mock <IValidationService>(); mockValidator.Setup(x => x.isValidBook(newBook)).Returns(false); mockValidator.Setup(x => x.IsValidQuantity(1)).Returns(false); mockValidator.Setup(x => x.IsValidPrice(price)).Returns(false); var dependencyService = new DependencyService(); dependencyService.Register <IValidationService>(mockValidator.Object); var availableBooks = new List <BookProductInfo>(); var library = new LibraryRepository(availableBooks, dependencyService); var addResult = library.AddNewBook(newBook, price); Assert.False(addResult); Assert.Empty(library.AvailableBooks); }
public async Task AddNewBook_OK() { //Arrange BookDomain books = new BookDomain(); var entity = Create <BookDomain>(new BookDomain { BookId = 101, BookAuthor = "Rahul", BookName = "c#", BookType = "1", }); //Act using (var _context = new LibraryContextMemory(_configuration)) { var libraryRepository = new LibraryRepository(_context); var result = await libraryRepository.AddNewBook(entity); // Assert result.Should().NotBeNull("Must contain a result"); } }