public async void GetAll_ShouldReturnAListOfCategory_WhenCategoriesExist()
        {
            await using (var context = new BookStoreDbContext(_options))
            {
                var repository = new RepositoryConcreteClass(context);

                var categories = await repository.GetAll();

                Assert.NotNull(categories);
                Assert.IsType <List <Category> >(categories);
            }
        }
        public async void GetAll_ShouldReturnAnEmptyList_WhenCategoriesDoNotExist()
        {
            await BookStoreHelperTests.CleanDataBase(_options);

            await using (var context = new BookStoreDbContext(_options))
            {
                var repository = new RepositoryConcreteClass(context);
                var categories = await repository.GetAll();

                Assert.NotNull(categories);
                Assert.Empty(categories);
                Assert.IsType <List <Category> >(categories);
            }
        }
        public async void GetAll_ShouldReturnAListOfCategoryWithCorrectValues_WhenCategoriesExist()
        {
            await using (var context = new BookStoreDbContext(_options))
            {
                var expectedCategories = CreateCategoryList();
                var repository         = new RepositoryConcreteClass(context);
                var categoryList       = await repository.GetAll();

                Assert.Equal(3, categoryList.Count);
                Assert.Equal(expectedCategories[0].Id, categoryList[0].Id);
                Assert.Equal(expectedCategories[0].Name, categoryList[0].Name);
                Assert.Equal(expectedCategories[1].Id, categoryList[1].Id);
                Assert.Equal(expectedCategories[1].Name, categoryList[1].Name);
                Assert.Equal(expectedCategories[2].Id, categoryList[2].Id);
                Assert.Equal(expectedCategories[2].Name, categoryList[2].Name);
            }
        }