public void TestOfCheckingAnswer() { var goodAnswer = new Answer() { Id = 2, AnswerText = "50", IsAccepted = true, IsCorrect = true, QuestionId = 1 }; var config = new MapperConfiguration(conf => { conf.AddProfile(new MappingProfile()); }); var mapper = config.CreateMapper(); var catRepo = new Mock <ICategoryAndQuestionRepository>(); catRepo.Setup(c => c.ReturnAnswerById(2)).Returns(goodAnswer); var catServ = new CategoryAndQuestionService(catRepo.Object, mapper); var result = catServ.CheckAnswer(2, "we"); Assert.NotNull(result); Assert.True(result.IsGood); }
public void TestOfDrawingQuestionWhenUserDoesntAnswerOnEveryQuestion() { var returnedQuestions = new List <Question>() { new Question() { Id = 1, QuestionText = "Ile to jest 25 + 25?", CategoryId = 2, IsAccepted = true, Category = new Category() { Id = 1, IsAccepted = true, Name = "Matematyka" }, Answers = new List <Answer>() { new Answer() { Id = 1, AnswerText = "50", IsAccepted = true, IsCorrect = true, QuestionId = 1 }, new Answer() { Id = 2, AnswerText = "150", IsAccepted = true, IsCorrect = false, QuestionId = 1 } } }, new Question() { Id = 2, QuestionText = "Ile wynosi pierwiastek kwadratowty z 64?", CategoryId = 2, IsAccepted = true, Category = new Category() { Id = 1, IsAccepted = true, Name = "Matematyka" }, Answers = new List <Answer>() { new Answer() { Id = 1, AnswerText = "8", IsAccepted = true, IsCorrect = true, QuestionId = 2 }, new Answer() { Id = 2, AnswerText = "4", IsAccepted = true, IsCorrect = false, QuestionId = 2 } } } }; var questionWithGoodAnswer = new QuestionsOnWhichUsersRespondCorrectly() { Id = 1, UserName = "******", QuestionId = 2 }; var config = new MapperConfiguration(conf => { conf.AddProfile(new MappingProfile()); }); var mapper = config.CreateMapper(); var catRepo = new Mock <ICategoryAndQuestionRepository>(); catRepo.Setup(c => c.GetQuestionIdsWhichUserRespondCorrectly(questionWithGoodAnswer.UserName)) .Returns(new List <int>() { questionWithGoodAnswer.QuestionId }); catRepo.Setup(c => c.GetQuestionsByCategoryId(returnedQuestions[0].CategoryId)).Returns(returnedQuestions.AsQueryable()); var catServ = new CategoryAndQuestionService(catRepo.Object, mapper); //Act var question = catServ.ShowRandomlySelectedQuestion(returnedQuestions[0].CategoryId, questionWithGoodAnswer.UserName); //Assert Assert.NotNull(question); question.Should().BeOfType(typeof(QuestionVm)); }
public void TestOfDrawingCategory() { var categories = new List <Category>() { new Category() { Id = 1, Name = "Matematyka", IsAccepted = true }, new Category() { Id = 2, Name = "Historia", IsAccepted = true }, new Category() { Id = 3, Name = "Geografia", IsAccepted = true }, new Category() { Id = 4, Name = "Informatyka", IsAccepted = true } }; var categoriesWhichAreChecked = new List <CategoryWithEveryQuestionsRespondedCorrectlyByUser> { new CategoryWithEveryQuestionsRespondedCorrectlyByUser() { Id = 1, Username = "******", CategoryId = 3 }, new CategoryWithEveryQuestionsRespondedCorrectlyByUser() { Id = 2, Username = "******", CategoryId = 1 } }; var idsOfCategoriesWhichAreChecked = new List <int> { 1, 3 }; var idsOfCategoriesWhichAreNotChecked = new List <int> { 2, 4 }; var config = new MapperConfiguration(conf => { conf.AddProfile(new MappingProfile()); }); var mapper = config.CreateMapper(); var catRepo = new Mock <ICategoryAndQuestionRepository>(); catRepo.Setup(c => c.GetCategoryIdsWhichUserRespondCorrectlyOnItsQuestions(categoriesWhichAreChecked[0].Username)) .Returns(idsOfCategoriesWhichAreChecked); catRepo.Setup(c => c.GetAllAcceptedCategories()).Returns(categories.AsQueryable()); var catServ = new CategoryAndQuestionService(catRepo.Object, mapper); //Act var idDrowingCategory = catServ.DrawCategory(categoriesWhichAreChecked[0].Username); //Assert idDrowingCategory.Should().BeOfType(typeof(int)); Assert.NotEqual(categories[0].Id, idDrowingCategory); Assert.NotEqual(categories[2].Id, idDrowingCategory); idsOfCategoriesWhichAreNotChecked.Should().Contain(idDrowingCategory); }
public void TestOfDrawingQuestionWhenUserAnswerOnEveryQuestionFromGivenCategory() { var questions = new List <Question>() { new Question() { Id = 1, QuestionText = "Ile to jest 25 + 25?", CategoryId = 1, IsAccepted = true, Category = new Category() { Id = 1, IsAccepted = true, Name = "Matematyka" }, Answers = new List <Answer>() { new Answer() { Id = 1, AnswerText = "50", IsAccepted = true, IsCorrect = true, QuestionId = 1 }, new Answer() { Id = 2, AnswerText = "150", IsAccepted = true, IsCorrect = false, QuestionId = 1 } } }, new Question() { Id = 2, QuestionText = "Ile wynosi pierwiastek kwadratowty z 64?", CategoryId = 1, IsAccepted = true, Category = new Category() { Id = 1, IsAccepted = true, Name = "Matematyka" }, Answers = new List <Answer>() { new Answer() { Id = 1, AnswerText = "8", IsAccepted = true, IsCorrect = true, QuestionId = 2 }, new Answer() { Id = 2, AnswerText = "4", IsAccepted = true, IsCorrect = false, QuestionId = 2 } } }, new Question() { Id = 3, QuestionText = "Jakiego kraju stolicą jest Rzym?", CategoryId = 2, IsAccepted = true, Category = new Category() { Id = 2, IsAccepted = true, Name = "Geografia" }, Answers = new List <Answer>() { new Answer() { Id = 1, AnswerText = "Włochy", IsAccepted = true, IsCorrect = true, QuestionId = 3 }, new Answer() { Id = 2, AnswerText = "Francja", IsAccepted = true, IsCorrect = false, QuestionId = 3 } } } }; var questionsWithGoodAnswer = new List <QuestionsOnWhichUsersRespondCorrectly>() { new QuestionsOnWhichUsersRespondCorrectly() { Id = 1, QuestionId = 1, UserName = "******" }, new QuestionsOnWhichUsersRespondCorrectly() { Id = 2, QuestionId = 2, UserName = "******" } }; var config = new MapperConfiguration(conf => { conf.AddProfile(new MappingProfile()); }); var mapper = config.CreateMapper(); var catRepo = new Mock <ICategoryAndQuestionRepository>(); var mockOfCatServ = new Mock <ICategoryAndQuestionService>(); catRepo.Setup(c => c.GetQuestionIdsWhichUserRespondCorrectly(questionsWithGoodAnswer[0].UserName)) .Returns(new List <int>() { questionsWithGoodAnswer[0].QuestionId, questionsWithGoodAnswer[1].QuestionId }); catRepo.Setup(c => c.GetQuestionsByCategoryId(questions[0].CategoryId)) .Returns(questions.Where(q => q.CategoryId == 1).AsQueryable()); catRepo.Setup(c => c.GetCategoryIdsWhichUserRespondCorrectlyOnItsQuestions(questionsWithGoodAnswer[0].UserName)) .Returns(new List <int> { questions[0].CategoryId }); catRepo.Setup(c => c.GetAllAcceptedCategories()).Returns(new List <Category> { questions[1].Category, questions[2].Category }.AsQueryable()); catRepo.Setup(c => c.GetQuestionsByCategoryId(questions[2].CategoryId)) .Returns(questions.Where(q => q.CategoryId == 2).AsQueryable()); var catServ = new CategoryAndQuestionService(catRepo.Object, mapper); //Act var question = catServ.ShowRandomlySelectedQuestion(1, "*****@*****.**"); //Assert Assert.NotNull(question); question.Should().BeOfType(typeof(QuestionVm)); Assert.Equal(questions[2].Id, question.Id); Assert.Equal(questions[2].QuestionText, question.QuestionText); }