public async Task AppendSurveyAnswerIdToSurveyAnswerListWithNullSlugName() { var mockSurveyAnswerContainerFactory = new Mock <AzureBlobContainerFactory <Tailspin.SurveyAnswerService.Models.SurveyAnswer> >(); var mockSurveyAnswerListContainerFactory = new Mock <AzureBlobContainerFactory <List <string> > >(); var service = new SurveyAnswerService( this.CreateServiceContext(), mockSurveyAnswerContainerFactory.Object, mockSurveyAnswerListContainerFactory.Object, new Mock <ISurveyAnalysisService>().Object); var privateService = new PrivateObject(service); var task = (Task)privateService.Invoke( "AppendSurveyAnswerIdToSurveyAnswerListAsync", new Type[] { typeof(string), typeof(string) }, new object[] { null, null }); await AssertEx.ThrowsExceptionAsync <ArgumentException>(async() => await task, string.Empty, null); }
public async Task SaveSurveyAnswerWithNullSurveyAnswer() { var mockSurveyAnswerContainerFactory = new Mock <AzureBlobContainerFactory <Tailspin.SurveyAnswerService.Models.SurveyAnswer> >(); var mockSurveyAnswerListContainerFactory = new Mock <AzureBlobContainerFactory <List <string> > >(); var service = new SurveyAnswerService( this.CreateServiceContext(), mockSurveyAnswerContainerFactory.Object, mockSurveyAnswerListContainerFactory.Object, new Mock <ISurveyAnalysisService>().Object); mockSurveyAnswerContainerFactory.Setup(f => f(It.IsAny <string>())) .Returns(new Mock <IAzureBlobContainer <Tailspin.SurveyAnswerService.Models.SurveyAnswer> >().Object); mockSurveyAnswerListContainerFactory.Setup(f => f(It.IsAny <string>())) .Returns(new Mock <IAzureBlobContainer <List <string> > >().Object); await AssertEx.ThrowsExceptionAsync <ArgumentNullException>(async() => await service.SaveSurveyAnswerAsync(null), string.Empty, null); }
public void TestInitialize() { target = new SurveyAnswerService(null, (containerName) => { azureBlobSurveyAnswerContainer = new AzureBlobContainer <Models.SurveyAnswer>( account, containerName); azureBlobSurveyAnswerContainer.EnsureExistsAsync().Wait(); return(azureBlobSurveyAnswerContainer); }, (containerName) => { azureBlogStringListContainer = new AzureBlobContainer <List <string> >( account, containerName); azureBlogStringListContainer.EnsureExistsAsync().Wait(); return(azureBlogStringListContainer); }, new Mock <ISurveyAnalysisService>().Object); }
public async Task GetSurveyAnswerBrowsingContextGetTheAnswersListBlob() { var mockSurveyAnswerContainerFactory = new Mock <AzureBlobContainerFactory <Tailspin.SurveyAnswerService.Models.SurveyAnswer> >(); var mockSurveyAnswerListContainerFactory = new Mock <AzureBlobContainerFactory <List <string> > >(); var mockSurveyAnswerContainer = new Mock <IAzureBlobContainer <Tailspin.SurveyAnswerService.Models.SurveyAnswer> >(); var mockSurveyAnswerListContainer = new Mock <IAzureBlobContainer <List <string> > >(); var service = new SurveyAnswerService( this.CreateServiceContext(), mockSurveyAnswerContainerFactory.Object, mockSurveyAnswerListContainerFactory.Object, new Mock <ISurveyAnalysisService>().Object); mockSurveyAnswerContainerFactory.Setup(f => f(It.IsAny <string>())) .Returns(mockSurveyAnswerContainer.Object); mockSurveyAnswerListContainerFactory.Setup(f => f(It.IsAny <string>())) .Returns(mockSurveyAnswerListContainer.Object); var browsingContext = await service.GetSurveyAnswerBrowsingContextAsync("slug-name", string.Empty); mockSurveyAnswerListContainer.Verify(c => c.GetAsync("slug-name"), Times.Once); }
public async Task AppendSurveyAnswerIdToAnswersListSavesModifiedListToTheAnswersListBlob() { var mockSurveyAnswerContainerFactory = new Mock <AzureBlobContainerFactory <Tailspin.SurveyAnswerService.Models.SurveyAnswer> >(); var mockSurveyAnswerListContainerFactory = new Mock <AzureBlobContainerFactory <List <string> > >(); var mockSurveyAnswerContainer = new Mock <IAzureBlobContainer <Tailspin.SurveyAnswerService.Models.SurveyAnswer> >(); var mockSurveyAnswerListContainer = new Mock <IAzureBlobContainer <List <string> > >(); var service = new SurveyAnswerService( this.CreateServiceContext(), mockSurveyAnswerContainerFactory.Object, mockSurveyAnswerListContainerFactory.Object, new Mock <ISurveyAnalysisService>().Object); mockSurveyAnswerContainerFactory.Setup(f => f(It.IsAny <string>())) .Returns(mockSurveyAnswerContainer.Object); mockSurveyAnswerListContainerFactory.Setup(f => f(It.IsAny <string>())) .Returns(mockSurveyAnswerListContainer.Object); var answerIdsList = new List <string> { "id 1", "id 2" }; List <string> savedList = null; mockSurveyAnswerListContainer.Setup(c => c.GetAsync("slug-name")) .ReturnsAsync(answerIdsList); mockSurveyAnswerListContainer.Setup(c => c.SaveAsync(It.IsAny <string>(), It.IsAny <List <string> >())) .Callback <string, List <string> >((s, l) => savedList = l) .Returns(Task.FromResult(0)); var surveyAnswer = new SurveyAnswer() { SlugName = "slug-name" }; await service.SaveSurveyAnswerAsync(surveyAnswer); Assert.AreEqual(3, savedList.Count); }
public async Task SaveSurveyAnswerCreatesBlobContainerForGivenSurvey() { var mockSurveyAnswerContainerFactory = new Mock <AzureBlobContainerFactory <Tailspin.SurveyAnswerService.Models.SurveyAnswer> >(); var mockSurveyAnswerListContainerFactory = new Mock <AzureBlobContainerFactory <List <string> > >(); var service = new SurveyAnswerService( this.CreateServiceContext(), mockSurveyAnswerContainerFactory.Object, mockSurveyAnswerListContainerFactory.Object, new Mock <ISurveyAnalysisService>().Object); mockSurveyAnswerContainerFactory.Setup(f => f(It.IsAny <string>())) .Returns(new Mock <IAzureBlobContainer <Tailspin.SurveyAnswerService.Models.SurveyAnswer> >().Object); mockSurveyAnswerListContainerFactory.Setup(f => f(It.IsAny <string>())) .Returns(new Mock <IAzureBlobContainer <List <string> > >().Object); var surveyAnswer = new SurveyAnswer() { SlugName = "slug-name" }; await service.SaveSurveyAnswerAsync(surveyAnswer); mockSurveyAnswerContainerFactory.Verify(f => f("slug-name-answers")); }
public async Task GetSurveyAnswerBrowsingContextReturnsNullNextIdAndPreviousIdWhenListDoesNotExist() { var mockSurveyAnswerContainerFactory = new Mock <AzureBlobContainerFactory <Tailspin.SurveyAnswerService.Models.SurveyAnswer> >(); var mockSurveyAnswerListContainerFactory = new Mock <AzureBlobContainerFactory <List <string> > >(); var mockSurveyAnswerContainer = new Mock <IAzureBlobContainer <Tailspin.SurveyAnswerService.Models.SurveyAnswer> >(); var mockSurveyAnswerListContainer = new Mock <IAzureBlobContainer <List <string> > >(); var service = new SurveyAnswerService( this.CreateServiceContext(), mockSurveyAnswerContainerFactory.Object, mockSurveyAnswerListContainerFactory.Object, new Mock <ISurveyAnalysisService>().Object); mockSurveyAnswerContainerFactory.Setup(f => f(It.IsAny <string>())) .Returns(mockSurveyAnswerContainer.Object); mockSurveyAnswerListContainerFactory.Setup(f => f(It.IsAny <string>())) .Returns(mockSurveyAnswerListContainer.Object); mockSurveyAnswerContainer.Setup(c => c.ExistsAsync()) .Returns(Task.FromResult(true)); var browsingContext = await service.GetSurveyAnswerBrowsingContextAsync("slug-name", "id"); Assert.IsNull(browsingContext.PreviousAnswerId); Assert.IsNull(browsingContext.NextAnswerId); }