Example #1
0
        public async Task CanGetAllBooks()
        {
            var options = new DbContextOptionsBuilder <ApplicationDbContext>()
                          .UseInMemoryDatabase(Guid.NewGuid().ToString())
                          .EnableSensitiveDataLogging()
                          .Options;

            await using var context = new ApplicationDbContext(options);

            var testBooks = new List <Book>
            {
                new Book("foo", "bar", "test book")
                {
                    ID = 1
                },
                new Book("bar", "foo", "book test")
                {
                    ID = 2
                }
            };

            foreach (var book in testBooks)
            {
                context.Books.Add(book);
            }

            await context.SaveChangesAsync();

            var service  = new BookShelfService(context);
            var allBooks = service.GetAllBooks().ToList();

            var correctLength       = allBooks.Count == testBooks.Count;
            var containsAllElements = allBooks.All(b => testBooks.Contains(b));

            Assert.True(correctLength && containsAllElements);
        }
Example #2
0
 public IEnumerable <Book> AllBooks()
 => _bookShelfService.GetAllBooks();