public async Task SaveSurveyCallsAddFromQuestionTableWithQuestionType() { var mockQuestionTable = new Mock <IAzureTable <QuestionRow> >(); var store = new SurveyStore(new Mock <IAzureTable <SurveyRow> >().Object, mockQuestionTable.Object, new Mock <IInitializationStatusService>().Object); 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.AddAsync(It.IsAny <IEnumerable <QuestionRow> >())) .Returns(Task.Delay(0)) .Callback <IEnumerable <QuestionRow> >(q => actualQuestionsToAdd = q); await store.SaveSurveyAsync(survey); Assert.AreEqual(Enum.GetName(typeof(QuestionType), QuestionType.SimpleText), actualQuestionsToAdd.First().Type); }
public async Task SaveSurveyCallsAddFromQuestionTableWithQuestionPossibleAnswers() { var mockQuestionTable = new Mock <IAzureTable <QuestionRow> >(); var store = new SurveyStore(new Mock <IAzureTable <SurveyRow> >().Object, mockQuestionTable.Object, new Mock <IInitializationStatusService>().Object); 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.AddAsync(It.IsAny <IEnumerable <QuestionRow> >())) .Returns(Task.Delay(0)) .Callback <IEnumerable <QuestionRow> >(q => actualQuestionsToAdd = q); await store.SaveSurveyAsync(survey); Assert.AreEqual("possible answers", actualQuestionsToAdd.First().PossibleAnswers); }
public async Task SaveSurveyCallsAddFromQuestionTableWithQuestionText() { var mockQuestionTable = new Mock <IAzureTable <QuestionRow> >(); var store = new SurveyStore(new Mock <IAzureTable <SurveyRow> >().Object, mockQuestionTable.Object, null); var question = new Question { Text = "text" }; var survey = new Survey { Title = "title", Questions = new List <Question>(new[] { question }) }; IEnumerable <QuestionRow> actualQuestionsToAdd = null; mockQuestionTable.Setup(t => t.AddAsync(It.IsAny <IEnumerable <QuestionRow> >())) .Returns(Task.FromResult(0)) .Callback <IEnumerable <QuestionRow> >(q => actualQuestionsToAdd = q); await store.SaveSurveyAsync(survey); Assert.AreEqual("text", actualQuestionsToAdd.First().Text); }