public async Task GetSurveyByTenantAndSlugNameReturnsNullWhenNotFound() { var mock = new Mock <IAzureTable <SurveyRow> >(); var store = new SurveyStore(mock.Object, default(IAzureTable <QuestionRow>), new Mock <IInitializationStatusService>().Object); var survey = await store.GetSurveyByTenantAndSlugNameAsync("tenant", "slug-name", false); Assert.IsNull(survey); }
public async Task 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 mock = new Mock <IAzureTable <SurveyRow> >(); mock.Setup(t => t.GetByRowKeyAsync(expectedRowKey)).ReturnsAsync(new[] { surveyRow }); var store = new SurveyStore(mock.Object, default(IAzureTable <QuestionRow>), new Mock <IInitializationStatusService>().Object); var survey = await store.GetSurveyByTenantAndSlugNameAsync("tenant", "slug-name", false); Assert.AreEqual(expectedDate, survey.CreatedOn); }
public async Task GetSurveyByTenantAndSlugNameReturnsSlugName() { string expectedRowKey = string.Format(CultureInfo.InvariantCulture, "{0}_{1}", "tenant", "slug-name"); var surveyRow = new SurveyRow { RowKey = expectedRowKey, SlugName = "slug-name" }; var mock = new Mock <IAzureTable <SurveyRow> >(); mock.Setup(t => t.GetByRowKeyAsync(expectedRowKey)).ReturnsAsync(new[] { surveyRow }); var store = new SurveyStore(mock.Object, default(IAzureTable <QuestionRow>), null); var survey = await store.GetSurveyByTenantAndSlugNameAsync("tenant", "slug-name", false); Assert.AreEqual("slug-name", survey.SlugName); }
public async Task GetSurveyByTenantAndSlugNameReturnsTenantIdFromPartitionKey() { string expectedRowKey = string.Format(CultureInfo.InvariantCulture, "{0}_{1}", "tenant", "slug-name"); var surveyRow = new SurveyRow { RowKey = expectedRowKey, PartitionKey = "tenant" }; var surveyRows = new[] { surveyRow }; var mock = new Mock <IAzureTable <SurveyRow> >(); mock.Setup(t => t.GetByRowKeyAsync(expectedRowKey)).ReturnsAsync(surveyRows); var store = new SurveyStore(mock.Object, default(IAzureTable <QuestionRow>), new Mock <IInitializationStatusService>().Object); var survey = await store.GetSurveyByTenantAndSlugNameAsync("tenant", "slug-name", false); Assert.AreEqual("tenant", survey.TenantId); }
public async Task GetSurveyByTenantAndSlugNameFiltersByTenantAndSlugNameInRowKey() { string expectedRowKey = string.Format(CultureInfo.InvariantCulture, "{0}_{1}", "tenant", "slug-name"); var surveyRow = new SurveyRow { RowKey = expectedRowKey }; var mockSurveyTable = new Mock <IAzureTable <SurveyRow> >(); mockSurveyTable.Setup(t => t.GetByRowKeyAsync(expectedRowKey)).ReturnsAsync(new[] { surveyRow }).Verifiable(); var store = new SurveyStore(mockSurveyTable.Object, default(IAzureTable <QuestionRow>), new Mock <IInitializationStatusService>().Object); var survey = await store.GetSurveyByTenantAndSlugNameAsync("tenant", "slug-name", false); Assert.IsNotNull(survey); mockSurveyTable.Verify(); }
public async Task GetSurveyByTenantAndSlugNameReturnsWithQuestionPossibleAnswers() { string expectedKey = string.Format(CultureInfo.InvariantCulture, "{0}_{1}", "tenant", "slug-name"); var surveyRow = new SurveyRow { RowKey = expectedKey }; var mockSurveyTable = new Mock <IAzureTable <SurveyRow> >(); mockSurveyTable.Setup(t => t.GetByRowKeyAsync(expectedKey)).ReturnsAsync(new[] { surveyRow }); var questionRow = new QuestionRow { PartitionKey = expectedKey, PossibleAnswers = "possible answers", Type = Enum.GetName(typeof(QuestionType), QuestionType.SimpleText) }; var questions = new[] { questionRow }; var mockQuestionTable = new Mock <IAzureTable <QuestionRow> >(); mockQuestionTable.Setup(t => t.GetByPartitionKeyAsync(expectedKey)).ReturnsAsync(questions); var store = new SurveyStore(mockSurveyTable.Object, mockQuestionTable.Object, new Mock <IInitializationStatusService>().Object); var survey = await store.GetSurveyByTenantAndSlugNameAsync("tenant", "slug-name", true); Assert.AreEqual("possible answers", survey.Questions.First().PossibleAnswers); }
public async Task GetSurveyByTenantAndSlugNameReturnsWithQuestionsFilteredByTenantAndSlugNameInPartitionKey() { string expectedKey = string.Format(CultureInfo.InvariantCulture, "{0}_{1}", "tenant", "slug-name"); var surveyRow = new SurveyRow { RowKey = expectedKey }; var mockSurveyTable = new Mock <IAzureTable <SurveyRow> >(); mockSurveyTable.Setup(t => t.GetByRowKeyAsync(expectedKey)).ReturnsAsync(new[] { surveyRow }); var questionRow = new QuestionRow { PartitionKey = expectedKey, Type = Enum.GetName(typeof(QuestionType), QuestionType.SimpleText) }; var questions = new[] { questionRow }; var mockQuestionTable = new Mock <IAzureTable <QuestionRow> >(); mockQuestionTable.Setup(t => t.GetByPartitionKeyAsync(expectedKey)).ReturnsAsync(questions); var store = new SurveyStore(mockSurveyTable.Object, mockQuestionTable.Object, null); var survey = await store.GetSurveyByTenantAndSlugNameAsync("tenant", "slug-name", true); Assert.AreEqual(1, survey.Questions.Count); }