public void getCategoryByIdTest()
        {
            var dbCategory = DbContext.Categories.FirstOrDefault();

            Assert.IsTrue(dbCategory != null);

            var category = CatRep.getCategoryById(dbCategory.Id);

            Assert.AreEqual(dbCategory.Id, category.Id);
            Assert.AreEqual(dbCategory.CategoryText, category.CategoryText);
        }
        public void CountQuestionFromCategoryTest()
        {
            var dbCategory = DbContext.Categories.FirstOrDefault();

            Assert.IsTrue(dbCategory != null);

            var countQuestion   = CatRep.CountQuestionFromCategory(dbCategory.Id);
            var dbCountQuestion = DbContext.Questions.Where(x => x.CategoryId == dbCategory.Id).Count();

            Assert.AreEqual(dbCountQuestion, countQuestion);
            Assert.AreEqual(countQuestion, dbCategory.Questions.Count);
        }
        public void GetAllCategoriesTest()
        {
            int dbCatCount    = DbContext.Categories.Count();
            var businessItems = CatRep.GetAllCategories();
            int businessCount = businessItems.Count();

            foreach (Category cat in DbContext.Categories)
            {
                Assert.IsTrue(businessItems.FirstOrDefault(x => x.CategoryText == cat.CategoryText &&
                                                           x.Id == cat.Id) != null);
            }

            Assert.AreEqual(dbCatCount, businessCount);
        }
        public void SaveQuestion()
        {
            User admin = URep.GetUserByUserName("Admin");

            var    question = new Question();
            Answer a1_3     = new Answer()
            {
                AnswerText = "Bambi", UserId = admin.Id, Correctness = false
            };
            Answer a2_3 = new Answer()
            {
                AnswerText = "Höhle", UserId = admin.Id, Correctness = false
            };
            Answer a3_3 = new Answer()
            {
                AnswerText = "Einhorn", UserId = admin.Id, Correctness = true
            };
            Answer a4_3 = new Answer()
            {
                AnswerText = "Elch", UserId = admin.Id, Correctness = false
            };


            question.CategoryId   = CatRep.GetAllCategoriesFromUserId(admin.Id).FirstOrDefault().Id;
            question.UserId       = admin.Id;
            question.QuestionText = "Passwort zum Schulzimmer?";
            question.Answers.AddRange(new List <Answer>()
            {
                a1_3, a2_3, a3_3, a4_3
            });

            QRep.Save(question);
            int id = question.Id;

            Assert.IsTrue(id > 0);
            Question dbQuestion = DbContext.Questions.FirstOrDefault(x => x.QuestionText == question.QuestionText && x.Id == question.Id);

            Assert.IsTrue(dbQuestion != null);

            QRep.Delete(question.Id);
            dbQuestion = DbContext.Questions.FirstOrDefault(x => x.QuestionText == question.QuestionText && x.Id == question.Id);
            Assert.IsTrue(dbQuestion == null);
        }
        public void GetCategoriesByIdsTest()
        {
            List <int> dbCategorieIds = DbContext.Categories.Select(x => x.Id).ToList();

            if (dbCategorieIds.Count < 1)
            {
                throw new Exception("No Categories there to test");
            }


            var        categories   = CatRep.GetCategoriesByIds(dbCategorieIds);
            List <int> categorieIds = categories.Select(x => x.Id).ToList();

            Assert.IsTrue(dbCategorieIds.Count == categorieIds.Count);
            foreach (int id in dbCategorieIds)
            {
                Assert.IsTrue(categorieIds.Contains(id));
            }
        }
        public void SaveCategoryTest()
        {
            User admin = URep.GetUserByUserName("Admin");

            var category = new Category();

            category.CategoryText = "hallo";
            category.Questions    = null;
            category.UserId       = admin.Id;

            CatRep.Save(category);
            int id = category.Id;

            Assert.IsTrue(id > 0);
            Category dbCategory = DbContext.Categories.FirstOrDefault(x => x.CategoryText == category.CategoryText && x.Id == category.Id);

            Assert.IsTrue(dbCategory != null);
            CatRep.Delete(id);
            dbCategory = DbContext.Categories.FirstOrDefault(x => x.CategoryText == category.CategoryText && x.Id == category.Id);
            Assert.IsTrue(dbCategory == null);
        }