public IActionResult AddExtraAnswersToExistingQuestion(int?id, int idQuestion) { var answerTemplateToExistingQuestion = new AnswerToAdminVm() { QuestionId = idQuestion, IsAccepted = true }; return(View(answerTemplateToExistingQuestion)); }
public List <Answer> AddExtraAnswer(AnswerToAdminVm answer) { Question question = _categoryAndQuestionForAdminRepo.ReturnDetailsOfQuestion(answer.QuestionId); var questionVm = _mapper.Map <DetailsOfQuestionAdminVm>(question); questionVm.Answers = _categoryAndQuestionForAdminRepo.ReturnAnswersByQuestionId(questionVm.Id) .ProjectTo <AnswerToAdminVm>(_mapper.ConfigurationProvider).ToList(); questionVm.CategoryText = _categoryAndQuestionForAdminRepo.ReturnCategoryById(question.CategoryId).Name; questionVm.Answers.Add(answer); var questionToDatabase = _mapper.Map <Question>(questionVm); var answers = questionToDatabase.Answers; var listOfAnswers = answers.ToList(); _categoryAndQuestionForAdminRepo.UpdateAnswers(listOfAnswers); return(listOfAnswers); }
public void TestOfAddingExtraAnswer() { var question = new Question() { Id = 1, QuestionText = "Ile to jest 25 + 25?", CategoryId = 1, Category = new Category() { Id = 1, Name = "Matematyka", IsAccepted = true }, IsAccepted = true, Answers = new List <Answer>() { new Answer() { Id = 1, AnswerText = "75", IsAccepted = true, IsCorrect = false, QuestionId = 1 }, 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 queRepo = new Mock <ICategoryAndQuestionForAdminRepository>(); queRepo.Setup(q => q.ReturnDetailsOfQuestion(question.CategoryId)).Returns(question); queRepo.Setup(q => q.ReturnCategoryById(question.CategoryId)).Returns(question.Category); queRepo.Setup(q => q.ReturnAnswersByQuestionId(question.Id)).Returns(question.Answers.AsQueryable()); var queServ = new CategoryAndQuestionForAdminService(queRepo.Object, mapper); var extraAnswer = new AnswerToAdminVm() { Id = 3, AnswerText = "30", IsAccepted = true, IsCorrect = false, QuestionId = 1 }; //Act var answers = queServ.AddExtraAnswer(extraAnswer); //Assert answers.Should().HaveCount(3); answers[2].AnswerText.Should().Equals("30"); }
public IActionResult AddExtraAnswersToExistingQuestion(AnswerToAdminVm model) { _catAndQueService.AddExtraAnswer(model); return(new RedirectResult(Url.Action("DetailsOfQuestion", new { Id = model.QuestionId }))); }