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); }
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); }
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); }
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(); }