public async Task GetLast10()
        {
            var objId     = Guid.NewGuid().ToString();
            var questions = new List <Question>();

            questions.Add(new Question {
                Text = "q1", Type = QuestionType.SimpleText
            });

            //Publish 11 Surveys
            for (int i = 1; i < 12; i++)
            {
                await target.PublishSurveyAsync(new Survey { Title = $"test {i} {objId}", Questions = questions });
            }

            //Get 10 latest
            var latestsurveys = await target.GetLatestSurveysAsync();

            Assert.AreEqual(10, latestsurveys.Count);

            var q1  = latestsurveys.FirstOrDefault(s => s.SlugName.StartsWith("test-1-"));
            var q2  = latestsurveys.Single(s => s.SlugName.StartsWith("test-2-"));
            var q11 = latestsurveys.Single(s => s.SlugName.StartsWith("test-11-"));

            Assert.IsNull(q1);
            Assert.IsNotNull(q2);
            Assert.IsNotNull(q11);
        }
        public async Task GetRecentSurveysReturnsSlugName()
        {
            var surveyInformationRow = new SurveyInformationRow {
                SlugName = "slug"
            };
            var surveyRowsToReturn = new[] { surveyInformationRow };
            var mock = new Mock <IAzureTable <SurveyInformationRow> >();

            mock.Setup(t => t.GetLatestAsync(10)).ReturnsAsync(surveyRowsToReturn);
            var mockSurveyInformationTable = new Mock <IAzureTable <SurveyInformationRow> >();
            var target = new SurveyManagementService(null, (tableName) => mock.Object, null);

            var actualSurveys = await target.GetLatestSurveysAsync();

            Assert.AreEqual("slug", actualSurveys.First().SlugName);
        }
        public async Task GetRecentSurveysReturnsUpto10Surveys()
        {
            var surveyInformationRowsToReturn = new List <SurveyInformationRow>();

            for (int i = 0; i < 10; i++)
            {
                surveyInformationRowsToReturn.Add(new SurveyInformationRow());
            }

            var mock = new Mock <IAzureTable <SurveyInformationRow> >();

            mock.Setup(t => t.GetLatestAsync(10)).ReturnsAsync(surveyInformationRowsToReturn);
            var mockSurveyInformationTable = new Mock <IAzureTable <SurveyInformationRow> >();

            var target = new SurveyManagementService(null, (tableName) => mock.Object, null);

            var actualSurveys = await target.GetLatestSurveysAsync();

            Assert.AreEqual(10, actualSurveys.Count());
        }