public void Schedule_next_item_when_total_number_of_activity_scheduling_events_exceeds_configured_limit() { _eventsBuilder.AddProcessedEvents(_eventGraphBuilder.WorkflowStartedEvent()); _eventsBuilder.AddProcessedEvents(ActivityCompletedEventGraph(ActivityName, ActivityVersion, PositionalName)); _eventsBuilder.AddProcessedEvents(ActivityCompletedEventGraph(ActivityName, ActivityVersion, PositionalName)); _eventsBuilder.AddNewEvents(ActivityCompletedEventGraph(ActivityName, ActivityVersion, PositionalName)); var workflow = new WorkflowToRescheduleActivityWithTimerUpToLimit(2); var decisions = workflow.Decisions(_eventsBuilder.Result()); Assert.That(decisions, Is.EqualTo(new[] { new CompleteWorkflowDecision("completed") })); }
public void Reschedule_timer_when_total_number_of_activity_scheduling_is_less_than_allowed_limit() { _eventsBuilder.AddProcessedEvents(_eventGraphBuilder.WorkflowStartedEvent()); _eventsBuilder.AddProcessedEvents(ActivityCompletedEventGraph(ActivityName, ActivityVersion, PositionalName)); _eventsBuilder.AddNewEvents(ActivityCompletedEventGraph(ActivityName, ActivityVersion, PositionalName)); var workflow = new WorkflowToRescheduleActivityWithTimerUpToLimit(2); var decisions = workflow.Decisions(_eventsBuilder.Result()).ToArray(); var scheduleId = Identity.New(ActivityName, ActivityVersion, PositionalName).ScheduleId(); Assert.That(decisions.Length, Is.EqualTo(1)); decisions[0].AssertRescheduleTimer(scheduleId, TimeSpan.FromSeconds(2)); }