public async Task RestoreAsync_WithCategoryId_ShouldRestoreCategory()
        {
            // Arrange
            FitStoreDbContext database = this.Database;

            DatabaseHelper.SeedData(database);

            Category category = database.Categories.Find(firstDeletedCategoryId);

            foreach (Subcategory subcategory in category.Subcategories)
            {
                foreach (Supplement supplement in subcategory.Supplements)
                {
                    supplement.Manufacturer.IsDeleted = true;
                    supplement.Manufacturer.IsDeleted = false;

                    foreach (Review review in supplement.Reviews)
                    {
                        review.IsDeleted.Should().Be(true);
                    }

                    foreach (Comment comment in supplement.Comments)
                    {
                        comment.IsDeleted.Should().Be(true);
                    }
                }

                database.SaveChanges();
            }

            IManagerCategoryService managerCategoryService = new ManagerCategoryService(database);

            // Act
            await managerCategoryService.RestoreAsync(firstDeletedCategoryId);

            // Assert
            category.IsDeleted.Should().Be(false);

            foreach (Subcategory subcategory in category.Subcategories)
            {
                subcategory.IsDeleted.Should().Be(false);

                foreach (Supplement supplement in subcategory.Supplements)
                {
                    supplement.IsDeleted.Should().Be(false);

                    foreach (Review review in supplement.Reviews)
                    {
                        review.IsDeleted.Should().Be(false);
                    }

                    foreach (Comment comment in supplement.Comments)
                    {
                        comment.IsDeleted.Should().Be(false);
                    }
                }
            }
        }