Exemple #1
0
        public void GetSurveyByTenantAndSlugNameReturnsWithQuestionPossibleAnswers()
        {
            string expectedKey = string.Format(CultureInfo.InvariantCulture, "{0}_{1}", "tenant", "slug-name");
            var    surveyRow   = new SurveyRow {
                RowKey = expectedKey
            };
            var surveyRowsForTheQuery = new[] { surveyRow };
            var mockSurveyTable       = new Mock <IAzureTable <SurveyRow> >();

            mockSurveyTable.SetupGet(t => t.Query).Returns(surveyRowsForTheQuery.AsQueryable());
            mockSurveyTable.Setup(t => t.GetRetryPolicyFactoryInstance()).Returns(new DefaultRetryPolicyFactory());
            var questionRow = new QuestionRow {
                PartitionKey = expectedKey, PossibleAnswers = "possible answers", Type = Enum.GetName(typeof(QuestionType), QuestionType.SimpleText)
            };
            var questionsForTheQuery = new[] { questionRow };
            var mockQuestionTable    = new Mock <IAzureTable <QuestionRow> >();

            mockQuestionTable.SetupGet(t => t.Query).Returns(questionsForTheQuery.AsQueryable());
            mockQuestionTable.Setup(t => t.GetRetryPolicyFactoryInstance()).Returns(new DefaultRetryPolicyFactory());
            var store = new SurveyStore(mockSurveyTable.Object, mockQuestionTable.Object, null);

            var survey = store.GetSurveyByTenantAndSlugName("tenant", "slug-name", true);

            Assert.AreEqual("possible answers", survey.Questions.First().PossibleAnswers);
        }
Exemple #2
0
        public void GetSurveyByTenantAndSlugNameReturnsNullWhenNotFound()
        {
            var otherSurveyRow = new SurveyRow {
                RowKey = "other_row_key"
            };
            var surveyRowsForTheQuery = new[] { otherSurveyRow };
            var mock = new Mock <IAzureTable <SurveyRow> >();

            mock.SetupGet(t => t.Query).Returns(surveyRowsForTheQuery.AsQueryable());
            mock.Setup(t => t.GetRetryPolicyFactoryInstance()).Returns(new DefaultRetryPolicyFactory());
            var store = new SurveyStore(mock.Object, default(IAzureTable <QuestionRow>), null);

            var survey = store.GetSurveyByTenantAndSlugName("tenant", "slug-name", false);

            Assert.IsNull(survey);
        }
Exemple #3
0
        public void GetSurveyByTenantAndSlugNameReturnsCreatedOn()
        {
            string expectedRowKey = string.Format(CultureInfo.InvariantCulture, "{0}_{1}", "tenant", "slug-name");
            var    expectedDate   = new DateTime(2000, 1, 1);
            var    surveyRow      = new SurveyRow {
                RowKey = expectedRowKey, CreatedOn = expectedDate
            };
            var surveyRowsForTheQuery = new[] { surveyRow };
            var mock = new Mock <IAzureTable <SurveyRow> >();

            mock.SetupGet(t => t.Query).Returns(surveyRowsForTheQuery.AsQueryable());
            mock.Setup(t => t.GetRetryPolicyFactoryInstance()).Returns(new DefaultRetryPolicyFactory());
            var store  = new SurveyStore(mock.Object, default(IAzureTable <QuestionRow>), null);
            var survey = store.GetSurveyByTenantAndSlugName("tenant", "slug-name", false);

            Assert.AreEqual(expectedDate, survey.CreatedOn);
        }
Exemple #4
0
        public void GetSurveyByTenantAndSlugNameFiltersByTenantAndSlugNameInRowKey()
        {
            string expectedRowKey = string.Format(CultureInfo.InvariantCulture, "{0}_{1}", "tenant", "slug-name");
            var    surveyRow      = new SurveyRow {
                RowKey = expectedRowKey
            };
            var otherSurveyRow = new SurveyRow {
                RowKey = "other_row_key"
            };
            var surveyRowsForTheQuery = new[] { surveyRow, otherSurveyRow };
            var mockSurveyTable       = new Mock <IAzureTable <SurveyRow> >();

            mockSurveyTable.SetupGet(t => t.Query).Returns(surveyRowsForTheQuery.AsQueryable()).Verifiable();
            mockSurveyTable.Setup(t => t.GetRetryPolicyFactoryInstance()).Returns(new DefaultRetryPolicyFactory());
            var store = new SurveyStore(mockSurveyTable.Object, default(IAzureTable <QuestionRow>), null);

            var survey = store.GetSurveyByTenantAndSlugName("tenant", "slug-name", false);

            Assert.IsNotNull(survey);
            mockSurveyTable.Verify();
        }