public void Get_QuestionDoesntExist_Throw()
        {
            var gateway      = new McmQuestionGateway(Mcm.Object);
            var questionaire = TestResources.Make_QuestionnaireObject();

            Mcm.Setup(m => m.ObjectGet(It.IsAny <Guid>(), true, false, false, false, false)).Returns(questionaire);

            gateway.Get("6a0fae3a-2ac0-477b-892a-b24433ff3bd2:999");
        }
        public void Get_IdMatchesQuestionaireObject_ReturnQuestionaire()
        {
            var obj = TestResources.Make_QuestionnaireObject();

            mcm.Setup(m => m.ObjectGet(obj.Guid, true, false, false, false, false)).Returns(obj);

            var result = Make_QuestionnaireGateway().Get(obj.Guid);

            Assert.That(result.Id, Is.EqualTo(obj.Guid.ToString()));
        }
        public void Save_QuestionDoesntExist_Throw()
        {
            var gateway      = new McmQuestionGateway(Mcm.Object);
            var questionaire = TestResources.Make_QuestionnaireObject();
            var question     = new Question("Test")
            {
                Id = "10000000-0000-0000-0000-000000000001:999"
            };

            Mcm.Setup(m => m.ObjectGet(It.IsAny <Guid>(), true, false, false, false, false)).Returns(questionaire);

            gateway.Save(question);
        }
        public void Get_QuestionIdThatExist_Return()
        {
            var gateway      = new McmQuestionGateway(Mcm.Object);
            var questionaire = TestResources.Make_QuestionnaireObject();
            var questionId   = "6a0fae3a-2ac0-477b-892a-b24433ff3bd2:0";

            Mcm.Setup(m => m.ObjectGet(It.IsAny <Guid>(), true, false, false, false, false)).Returns(questionaire);

            var result = gateway.Get(questionId);

            Assert.That(result.Id, Is.EqualTo(questionId));
            Assert.That(result.Type, Is.EqualTo("Monitor"));
        }
        public void Set_QuestionnaireFound_SetMetadata()
        {
            var obj           = TestResources.Make_QuestionnaireObject();
            var questionnaire = TestResources.Make_Questionnaire();
            var question      = new Question("Test")
            {
                Id     = "6a0fae3a-2ac0-477b-892a-b24433ff3bd2:4",
                Output =
                    new Output
                {
                    SimpleValues = new[] { new SimpleValue("Text", "Mars"), }
                }
            };

            questionnaire.GetQuestion(question.Id).Output = question.Output;
            mcm.Setup(m => m.ObjectGet(obj.Guid, true, false, false, false, false)).Returns(obj);

            var result = Make_QuestionnaireGateway().Set(questionnaire);

            Assert.That(result.Id, Is.EqualTo(questionnaire.Id));
            mcm.Verify(m => m.MetadataSet(obj.Guid, It.IsAny <Guid>(), Context.Config.ExperimentMetadataSchemaId, null, 0, It.IsAny <XDocument>(), It.IsAny <Guid>()));
        }