public async Task Run_ShouldTerminateExecutionWhenChangedFieldIsNotMedia() { var activity = New <Monitor_For_New_Media_Posted_v1>(); var activityContext = await ConfigureMonitorForNewMediaPosted(activity); var containerExecutionContext = FixtureData.FalseInstagramContainerExecutionContext(); containerExecutionContext = await RunMonitorForNewMediaPosted(activity, activityContext, containerExecutionContext); var operationalStateCM = containerExecutionContext.PayloadStorage.CrateContentsOfType <OperationalStateCM>().Single(); Assert.True(operationalStateCM.CurrentActivityResponse.Type == ActivityResponse.RequestTerminate.ToString(), "Monitor_For_New_Media_Posted_v1 doesn't terminate container execution when changed field doesn't contain media"); }
public async Task Run_ShouldTerminateExecutionWhenItCantFindPost() { var instagramIntegrationService = new Mock <IInstagramIntegration>(); instagramIntegrationService.Setup(x => x.GetPostById(It.IsAny <string>(), It.IsAny <string>())).ReturnsAsync(null); ObjectFactory.Container.Inject(typeof(IInstagramIntegration), instagramIntegrationService.Object); var activity = New <Monitor_For_New_Media_Posted_v1>(); var activityContext = await ConfigureMonitorForNewMediaPosted(activity); var containerExecutionContext = FixtureData.FalseInstagramContainerExecutionContext(); containerExecutionContext = await RunMonitorForNewMediaPosted(activity, activityContext, containerExecutionContext); var operationalStateCM = containerExecutionContext.PayloadStorage.CrateContentsOfType <OperationalStateCM>().Single(); Assert.True(operationalStateCM.CurrentActivityResponse.Type == ActivityResponse.RequestTerminate.ToString(), "Monitor_For_New_Media_Posted_v1 doesn't terminate container execution when activity can't find related post on instagram"); }
public async Task Run_ShouldUpdateContainerPayloadWhenSucceeds() { var instagramIntegrationService = new Mock <IInstagramIntegration>(); instagramIntegrationService.Setup(x => x.GetPostById(It.IsAny <string>(), It.IsAny <string>())).ReturnsAsync(new InstagramPost()); ObjectFactory.Container.Inject(typeof(IInstagramIntegration), instagramIntegrationService.Object); var activity = New <Monitor_For_New_Media_Posted_v1>(); var activityContext = await ConfigureMonitorForNewMediaPosted(activity); var containerExecutionContext = FixtureData.InstagramContainerExecutionContext(); containerExecutionContext = await RunMonitorForNewMediaPosted(activity, activityContext, containerExecutionContext); var operationalStateCM = containerExecutionContext.PayloadStorage.CrateContentsOfType <OperationalStateCM>().Single(); Assert.True(operationalStateCM.CurrentActivityResponse.Type == ActivityResponse.Success.ToString(), "Monitor_For_New_Media_Posted_v1 doesn't return success when everything is ok"); instagramIntegrationService.Verify(x => x.GetPostById(It.IsAny <string>(), It.IsAny <string>()), Times.Once); }