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));
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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));
        }
Exemple #4
0
        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 void Get_WhenCalled_ReturnsQuestionnaire()
        {
            //Arrange
            SetupQuestionsController();
            var questionnaire = new QuestionnaireBuilder()
                                .WithTitle("Title")
                                .WithQuestion("Q1")
                                .WithQuestion("Q2")
                                .WithQuestion("Q3")
                                .Build();

            _mockQuestionRepository.Setup(m => m.GetQuestionnaire()).Returns(questionnaire);

            //Act
            var questions = _questionsController.Get();

            //Assert
            _mockQuestionRepository.Verify(m => m.GetQuestionnaire(), Times.Once);
            Assert.IsInstanceOf <Questionnaire>(questions);
            Assert.That(questions, Is.EqualTo(questionnaire));
        }
        public QuestionnaireDto Get(Guid id)
        {
            var result = Context.QuestionnaireGateway.Get(id);

            return(QuestionnaireBuilder.MakeDto(result));
        }
Exemple #7
0
        private void BuildQuestionnaireUI()
        {
            var QuestionnaireBuilder = new QuestionnaireBuilder(Questions, Rules, DocumentModel);

            QuestionnaireBuilder.Build();
        }