public async Task TestIfGetAvailableCharacteristicsReturnsEmptyCollection()
        {
            var context = PCHUBDbContextInMemoryInitializer.InitializeContext();

            var characteristicsService = new Areas.Administration.Services.AdminCharacteristicsServices(context);

            Assert.Empty(await characteristicsService.GetAvailableCharacteristicsAsync());
        }
        public async Task TestIfCategoryExistsReturnsFalse(string categoryName)
        {
            var context = PCHUBDbContextInMemoryInitializer.InitializeContext();

            var characteristicsService = new Areas.Administration.Services.AdminCharacteristicsServices(context);

            Assert.False(await characteristicsService.CategoryExistsAsync(categoryName));
        }
        public async Task TestIfCharacteristicsExistsReturnsFalse()
        {
            var context = PCHUBDbContextInMemoryInitializer.InitializeContext();

            var characteristicsService = new Areas.Administration.Services.AdminCharacteristicsServices(context);

            Assert.False(await characteristicsService.CharacteristicsExistsAsync("Laptops"));
        }
        public async Task TestIfCategoryExistsReturnsTrue(string categoryName)
        {
            var context = PCHUBDbContextInMemoryInitializer.InitializeContext();

            var characteristicsService = new Areas.Administration.Services.AdminCharacteristicsServices(context);

            var categoryForm = new InsertCharacteristicsCategoryViewModel();

            categoryForm.CategoryName = categoryName;

            await characteristicsService.CreateCharacteristicsCategoryAsync(categoryForm);

            Assert.True(await characteristicsService.CategoryExistsAsync(categoryName));
        }
        public async Task TestIfGetAvailableCharacteristicsReturnsCorrectResult()
        {
            var context = PCHUBDbContextInMemoryInitializer.InitializeContext();

            var characteristicsService = new Areas.Administration.Services.AdminCharacteristicsServices(context);


            var categoryForm = new InsertCharacteristicsCategoryViewModel();

            categoryForm.CategoryName = "Laptops";

            await characteristicsService.CreateCharacteristicsCategoryAsync(categoryForm);

            Assert.NotEmpty(await characteristicsService.GetAvailableCharacteristicsAsync());
        }
        public async Task TestIfCreateCharacteristicsCategoryWorksAccordingly(string categoryName)
        {
            var context = PCHUBDbContextInMemoryInitializer.InitializeContext();
            var characteristicsService = new Areas.Administration.Services.AdminCharacteristicsServices(context);

            var form = new InsertCharacteristicsCategoryViewModel();

            form.CategoryName = categoryName;

            await characteristicsService.CreateCharacteristicsCategoryAsync(form);

            var result =
                await context.AdminCharacteristicsCategories.FirstOrDefaultAsync(x => x.CategoryName == categoryName);


            Assert.NotNull(result);
        }
        public async Task TestIfCreateCharacteristicsWorksAccordingly()
        {
            var context = PCHUBDbContextInMemoryInitializer.InitializeContext();

            var characteristicsService = new Areas.Administration.Services.AdminCharacteristicsServices(context);



            var categoryForm = new InsertCharacteristicsCategoryViewModel();

            categoryForm.CategoryName = "Laptops";

            await characteristicsService.CreateCharacteristicsCategoryAsync(categoryForm);

            var form = new InsertCharacteristicsViewModel();

            form.BasicCharacteristics.AddRange(new List <string>
            {
                "Acer",
                "Lenovo",
                "Dell",
                "Ombre",
            });

            form.Category = "Laptops";

            form.FullCharacteristics.AddRange(new List <string>
            {
                "Acer",
                "Lenovo",
                "Dell",
                "Ombre",
            });

            await characteristicsService.CreateCharacteristicsAsync(form);


            var result = await context.AdminCharacteristicsCategories.FirstOrDefaultAsync(x => x.CategoryName == form.Category);

            Assert.NotEmpty(result.FullCharacteristics);
            Assert.NotEmpty(result.BasicCharacteristics);
        }
        public async Task TestIfCharacteristicsExistsWorksAccordingly()
        {
            var context = PCHUBDbContextInMemoryInitializer.InitializeContext();

            var characteristicsService = new Areas.Administration.Services.AdminCharacteristicsServices(context);



            var categoryForm = new InsertCharacteristicsCategoryViewModel();

            categoryForm.CategoryName = "Laptops";

            await characteristicsService.CreateCharacteristicsCategoryAsync(categoryForm);

            var form = new InsertCharacteristicsViewModel();

            form.BasicCharacteristics.AddRange(new List <string>
            {
                "Acer",
                "Lenovo",
                "Dell",
                "Ombre",
            });

            form.Category = "Laptops";

            form.FullCharacteristics.AddRange(new List <string>
            {
                "Acer",
                "Lenovo",
                "Dell",
                "Ombre",
            });

            await characteristicsService.CreateCharacteristicsAsync(form);


            Assert.True(await characteristicsService.CharacteristicsExistsAsync("Laptops"));
        }