Пример #1
0
        public void SaveSurveyThrowsExceptionIfTitleAndSlugNameAreNullOrEmpty()
        {
            var store  = new SurveyStore(new Mock <IAzureTable <SurveyRow> >().Object, new Mock <IAzureTable <QuestionRow> >().Object, null);
            var survey = new Survey();

            store.SaveSurvey(survey);
        }
        public void SaveSurveyCallsAddFromSurveyTableSettingTheTenantAndSlugNameAsTheRowKey()
        {
            var mockSurveyTable = new Mock <IAzureTable <SurveyRow> >();
            var store           = new SurveyStore(mockSurveyTable.Object, new Mock <IAzureTable <QuestionRow> >().Object, null);
            var survey          = new Survey {
                Title = "title to slug", Tenant = "tenant"
            };

            store.SaveSurvey(survey);

            mockSurveyTable.Verify(
                c => c.Add(
                    It.Is <SurveyRow>(s => s.RowKey == "tenant_title-to-slug")),
                Times.Once());
        }
        public void SaveSurveyCallsAddFromSurveyTableGeneratingTheSlugName()
        {
            var mockSurveyTable = new Mock <IAzureTable <SurveyRow> >();
            var store           = new SurveyStore(mockSurveyTable.Object, new Mock <IAzureTable <QuestionRow> >().Object, null);
            var survey          = new Survey {
                Title = "title to slug"
            };

            store.SaveSurvey(survey);

            mockSurveyTable.Verify(
                c => c.Add(
                    It.Is <SurveyRow>(s => s.SlugName == "title-to-slug")),
                Times.Once());
        }
        public void SaveSurveyCallsAddFromSurveyTableWithTenant()
        {
            var mockSurveyTable = new Mock <IAzureTable <SurveyRow> >();
            var store           = new SurveyStore(mockSurveyTable.Object, new Mock <IAzureTable <QuestionRow> >().Object, null);
            var survey          = new Survey {
                Title = "title", Tenant = "tenant"
            };

            store.SaveSurvey(survey);

            mockSurveyTable.Verify(
                c => c.Add(
                    It.Is <SurveyRow>(s => s.PartitionKey == "tenant")),
                Times.Once());
        }
Пример #5
0
        public void SaveSurveyCallsAddFromSurveyTableSettingTheTenantAndSlugNameAsTheRowKey()
        {
            var mockSurveyTable = new Mock <IAzureTable <SurveyRow> >();
            var mockFactory     = new Mock <ISurveyAnswerContainerFactory>();

            mockFactory.Setup(f => f.Create(It.IsAny <string>(), It.IsAny <string>())).Returns(new Mock <IAzureBlobContainer <SurveyAnswer> >().Object);
            var store  = new SurveyStore(mockSurveyTable.Object, new Mock <IAzureTable <QuestionRow> >().Object, mockFactory.Object);
            var survey = new Survey {
                Title = "title to slug", Tenant = "tenant"
            };

            store.SaveSurvey(survey);

            mockSurveyTable.Verify(
                c => c.Add(
                    It.Is <SurveyRow>(s => s.RowKey == "tenant_title-to-slug")),
                Times.Once());
        }
Пример #6
0
        public void SaveSurveyCallsAddFromSurveyTableWithTitle()
        {
            var mockSurveyTable = new Mock <IAzureTable <SurveyRow> >();
            var mockFactory     = new Mock <ISurveyAnswerContainerFactory>();

            mockFactory.Setup(f => f.Create(It.IsAny <string>(), It.IsAny <string>())).Returns(new Mock <IAzureBlobContainer <SurveyAnswer> >().Object);
            var store  = new SurveyStore(mockSurveyTable.Object, new Mock <IAzureTable <QuestionRow> >().Object, mockFactory.Object);
            var survey = new Survey {
                Title = "title"
            };

            store.SaveSurvey(survey);

            mockSurveyTable.Verify(
                c => c.Add(
                    It.Is <SurveyRow>(s => s.Title == "title")),
                Times.Once());
        }
        public void SaveSurveyCallsAddFromQuestionTableWithAllTheQuestions()
        {
            var mockQuestionTable = new Mock <IAzureTable <QuestionRow> >();
            var store             = new SurveyStore(new Mock <IAzureTable <SurveyRow> >().Object, mockQuestionTable.Object, null);
            var survey            = new Survey
            {
                Title     = "title",
                Questions = new List <Question>(new[] { new Question(), new Question() })
            };
            IEnumerable <QuestionRow> actualQuestionsToAdd = null;

            mockQuestionTable.Setup(t => t.Add(It.IsAny <IEnumerable <QuestionRow> >()))
            .Callback <IEnumerable <QuestionRow> >(q => actualQuestionsToAdd = q);

            store.SaveSurvey(survey);

            Assert.AreEqual(2, actualQuestionsToAdd.Count());
        }
Пример #8
0
        public void SaveSurveyCallsAddFromQuestionTableWithAllTheQuestions()
        {
            var mockQuestionTable = new Mock <IAzureTable <QuestionRow> >();
            var mockFactory       = new Mock <ISurveyAnswerContainerFactory>();

            mockFactory.Setup(f => f.Create(It.IsAny <string>(), It.IsAny <string>())).Returns(new Mock <IAzureBlobContainer <SurveyAnswer> >().Object);
            var store  = new SurveyStore(new Mock <IAzureTable <SurveyRow> >().Object, mockQuestionTable.Object, mockFactory.Object);
            var survey = new Survey
            {
                Title     = "title",
                Questions = new List <Question>(new[] { new Question(), new Question() })
            };
            IEnumerable <QuestionRow> actualQuestionsToAdd = null;

            mockQuestionTable.Setup(t => t.Add(It.IsAny <IEnumerable <QuestionRow> >()))
            .Callback <IEnumerable <QuestionRow> >(q => actualQuestionsToAdd = q);

            store.SaveSurvey(survey);

            Assert.AreEqual(2, actualQuestionsToAdd.Count());
        }
        public void SaveSurveyCallsAddFromQuestionTableWithQuestionPossibleAnswers()
        {
            var mockQuestionTable = new Mock <IAzureTable <QuestionRow> >();
            var store             = new SurveyStore(new Mock <IAzureTable <SurveyRow> >().Object, mockQuestionTable.Object, null);
            var question          = new Question {
                PossibleAnswers = "possible answers"
            };
            var survey = new Survey
            {
                Title     = "title",
                Questions = new List <Question>(new[] { question })
            };
            IEnumerable <QuestionRow> actualQuestionsToAdd = null;

            mockQuestionTable.Setup(t => t.Add(It.IsAny <IEnumerable <QuestionRow> >()))
            .Callback <IEnumerable <QuestionRow> >(q => actualQuestionsToAdd = q);

            store.SaveSurvey(survey);

            Assert.AreEqual("possible answers", actualQuestionsToAdd.First().PossibleAnswers);
        }
        public void SaveSurveyCallsAddFromQuestionTableWithQuestionType()
        {
            var mockQuestionTable = new Mock <IAzureTable <QuestionRow> >();
            var store             = new SurveyStore(new Mock <IAzureTable <SurveyRow> >().Object, mockQuestionTable.Object, null);
            var question          = new Question {
                Type = QuestionType.SimpleText
            };
            var survey = new Survey
            {
                Title     = "title",
                Questions = new List <Question>(new[] { question })
            };
            IEnumerable <QuestionRow> actualQuestionsToAdd = null;

            mockQuestionTable.Setup(t => t.Add(It.IsAny <IEnumerable <QuestionRow> >()))
            .Callback <IEnumerable <QuestionRow> >(q => actualQuestionsToAdd = q);

            store.SaveSurvey(survey);

            Assert.AreEqual(Enum.GetName(typeof(QuestionType), QuestionType.SimpleText), actualQuestionsToAdd.First().Type);
        }