Exemple #1
0
        public async Task Run_WhenPayloadHasEventAndItDoesntPassFilters_ReturnsTerminationRequest()
        {
            var activity        = New <Monitor_Channel_v2>();
            var activityContext = new ActivityContext
            {
                HubCommunicator = ObjectFactory.GetInstance <IHubCommunicator>(),
                ActivityPayload = new ActivityPayload
                {
                    CrateStorage = new CrateStorage()
                },
                AuthorizationToken = AuthorizationToken
            };
            var executionContext = new ContainerExecutionContext
            {
                PayloadStorage = new CrateStorage(Crate.FromContent(string.Empty, new OperationalStateCM()))
            };

            await activity.Configure(activityContext);

            activity = New <Monitor_Channel_v2>();

            activityContext.ActivityPayload.CrateStorage.UpdateControls <Monitor_Channel_v2.ActivityUi>(x =>
            {
                x.MonitorDirectMessagesOption.Selected = true;
                x.MonitorChannelsOption.Selected       = false;
            });
            HealthMonitor_FixtureData.ConfigureHubToReturnPayloadWithChannelMessageEvent();
            await activity.Run(activityContext, executionContext);

            var operationalState = executionContext.PayloadStorage.FirstCrateContentOrDefault <OperationalStateCM>();

            Assert.AreEqual(ActivityResponse.RequestTerminate.ToString(), operationalState.CurrentActivityResponse.Type, "RequestTerminate response was not produced when event didn't match monitoring options");
        }