public async Task MostRecentFirstWithoutCriterias() { IEntityManager database = TestSetup.CreateMemoryDatabase(); DatabaseTaskService taskservice = new DatabaseTaskService(database); for (int i = 0; i < 700; ++i) { await taskservice.StoreTask(new WorkableTask() { Id = Guid.NewGuid(), Started = new DateTime(2020, 01, 01), Finished = new DateTime(2020, 01, 1, 1, 0, 0) }); } await taskservice.StoreTask(new WorkableTask() { Id = Guid.NewGuid(), Started = new DateTime(2020, 01, 2), Finished = new DateTime(2020, 01, 2, 1, 0, 0) }); Page <WorkableTask> tasks = await taskservice.ListTasks(); Assert.AreEqual(500, tasks.Result.Length); Assert.AreEqual(02, tasks.Result[0].Started.Day); }
public async Task ListRunningTask() { Mock <IScriptImportService> importservice = new Mock <IScriptImportService>(); importservice.Setup(s => s.Clone(It.IsAny <WorkableLogger>())).Returns(() => importservice.Object); IEntityManager database = TestSetup.CreateMemoryDatabase(); CacheService cache = new CacheService(new NullLogger <CacheService>()); IScriptCompiler compiler = new ScriptCompiler(new NullLogger <ScriptCompiler>(), new ScriptParser(), cache, null, new Mock <IScriptService>().Object, new Mock <IArchiveService>().Object, importservice.Object, null, null); WorkflowCompiler workflowcompiler = new WorkflowCompiler(new NullLogger <WorkflowCompiler>(), cache, null, compiler); ITaskService taskservice = new DatabaseTaskService(database); WorkflowExecutionService executionservice = new WorkflowExecutionService(new NullLogger <WorkflowExecutionService>(), taskservice, null, null, workflowcompiler); WorkableTask task = await executionservice.Execute(await workflowcompiler.BuildWorkflow(new WorkflowStructure { Name = "JS Test", Nodes = new[] { new NodeData { Type = NodeType.Start }, new NodeData { Type = NodeType.Node, } }, Transitions = new[] { new IndexTransition { OriginIndex = 0, TargetIndex = 1 }, new IndexTransition { OriginIndex = 1, TargetIndex = 0, } } }), new Dictionary <string, object>(), false); Assert.AreEqual(TaskStatus.Running, task.Status); Page <WorkableTask> tasks = await taskservice.ListTasks(); Assert.AreEqual(1, tasks.Total); Assert.AreEqual(1, tasks.Result.Length); task.Token.Cancel(); await Task.WhenAny(task.Task, Task.Delay(1000)); Assert.AreEqual(TaskStatus.Canceled, task.Status); }
public async Task MostRecentFirst() { IEntityManager database = TestSetup.CreateMemoryDatabase(); DatabaseTaskService taskservice = new DatabaseTaskService(database); for (int i = 0; i < 31; ++i) { await taskservice.StoreTask(new WorkableTask() { Id = Guid.NewGuid(), Started = new DateTime(2020, 01, 1 + i), Finished = new DateTime(2020, 01, i + 1, 1, 0, 0) }); } Page <WorkableTask> tasks = await taskservice.ListTasks(new TaskFilter { Count = 10, }); Assert.AreEqual(10, tasks.Result.Length); Assert.AreEqual(31, tasks.Result[0].Started.Day); }