public ExecutionResult Execute(IEnumerable <TaskExecutionNode> storyNodes) { var stories = new List <Story>(); var scenarioTasks = new List <RemoteTask>(); var storyTasks = new List <RemoteTask>(); foreach (var storyNode in storyNodes) { var rst = storyNode.RemoteTask as RunStoryTask; storyTasks.Add(rst); _server.TaskStarting(storyNode.RemoteTask); var scenarios = new List <IScenario>(); foreach (var task in storyNode.Children) { if (task.RemoteTask is RunScenarioTask) { scenarios.Add(GetScenarioFromNode(task)); } else { foreach (var node in (task.Children)) { scenarios.Add(GetScenarioFromNode(node)); scenarioTasks.Add(node.RemoteTask); } } scenarioTasks.Add(task.RemoteTask); } stories.Add(new Story(rst.Id, rst.Id, scenarios)); } _listener.SetScenarioTasks(storyTasks, scenarioTasks); _runner.HandleStories(stories); return(new ExecutionResult(TaskResult.Success, "")); }
public JobResult HandleStories(IEnumerable <Story> stories) { return(_storyHandler.HandleStories(stories)); }