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