public void Deserialize_GivenQuestionWithComplexValue_ValueAndValidationShouldBeParsed() { var converter = new DtuFormatConverter(); var xml = XDocument.Load("Resources\\experiment5.xml"); var result = converter.Deserialize(xml); Assert.That(result.Slides[0].Questions[0].Validation.ComplexValueValidator.Count, Is.EqualTo(1)); Assert.That(result.Slides[0].Questions[0].Output.ComplexValues.Count, Is.EqualTo(1)); var q = QuestionnaireBuilder.MakeDto(result); Assert.That(q.Slides[0].Questions[0].Values.Any(item => item.Key == "Response"), Is.True); }
public IPagedResult <QuestionDto> Get(string id, int index = 0) { var questionnaire = Context.QuestionnaireGateway.Get(Guid.Parse(id)); if (questionnaire.LockQuestion && Request.IsAnonymousUser && questionnaire.Slides[index].IsCompleted) { throw new SlideLockedException("Slide has been locked by calling Slide/Complete while LockQuestion is specified on the experiment", "The requested slide is not available for viewing"); } var questionnaireDto = QuestionnaireBuilder.MakeDto(questionnaire); var questions = questionnaireDto.Slides[index].Questions; return(new PagedResult <QuestionDto>((uint)questionnaireDto.Slides.Count, (uint)index, questions)); }
public void MakeDto_GivenQuestionnaireWithHeaders_SetHeadersOnDto() { var q = new Questionnaire { RedirectOnCloseUrl = "some url", Slides = new List <Slide> { new Slide() } }; var result = QuestionnaireBuilder.MakeDto(q); Assert.That(result.RedirectOnCloseUrl, Is.EqualTo(q.RedirectOnCloseUrl)); }
public void MakeDto_GivenQuestionnaireWithSlides_CurrentSlideIndexIsOne() { var q = new Questionnaire { Slides = new List <Slide> { new Slide { IsCompleted = true }, new Slide { IsCompleted = false } } }; var result = QuestionnaireBuilder.MakeDto(q); Assert.That(result.CurrentSlideIndex, Is.EqualTo(1)); }
public QuestionnaireDto Get(Guid id) { var result = Context.QuestionnaireGateway.Get(id); return(QuestionnaireBuilder.MakeDto(result)); }