public void StartSysTaskProcessWithBranchesAndMoveToCompleteTest() { SysTaskAdapter.Instance.ClearAll(); SysTaskProcess process = PrepareSysTaskProcessWithBranchData(() => PrepareInvokeServiceTask()); SysTaskProcessRuntime.StartProcess(process); SysTaskCommon.ExecuteAllTasks(); SysTaskProcessRuntime.ClearCache(); process = SysTaskProcessRuntime.GetProcessByID(process.ID); Assert.AreEqual(SysTaskProcessStatus.Completed, process.Status); }
public SysTaskProcess Build() { SysTaskProcess sysTaskProcess = CreateProcessInstance(); SysTaskProcessRuntime.ProcessContext.AffectedProcesses.AddOrReplace(sysTaskProcess); this.AfterCreateProcessInstance(sysTaskProcess); SysTaskProcessRuntime.Persist(); sysTaskProcess = SysTaskProcessRuntime.GetProcessByID(sysTaskProcess.ID); return(sysTaskProcess); }
public void StartSysTaskProcessTest() { SysTaskAdapter.Instance.ClearAll(); SysTaskProcess process = PrepareSysTaskProcessData(() => PrepareInvokeServiceTask()); SysTaskProcessRuntime.StartProcess(process); DO.SysTask moveToTask = SysTaskAdapter.Instance.LoadByResourceID(process.Activities[0].ID).FirstOrDefault(); Assert.IsNotNull(moveToTask); SysTaskCommon.ExecuteAndAssertTask(moveToTask); SysTaskProcessRuntime.ClearCache(); process = SysTaskProcessRuntime.GetProcessByID(process.ID); Assert.AreEqual(1, process.CurrentActivityIndex); }
public void CreateSysTaskProcessAndPersist() { SysTaskAdapter.Instance.ClearAll(); SysTaskProcess process = PrepareSysTaskProcessData(() => PrepareInvokeServiceTask()); SysTaskProcessRuntime.ProcessContext.AffectedProcesses.AddOrReplace(process); SysTaskProcessRuntime.Persist(); SysTaskProcess loadedProcess = SysTaskProcessRuntime.GetProcessByID(process.ID); Assert.AreNotEqual(process, loadedProcess); Assert.AreEqual(process.ID, loadedProcess.ID); Assert.AreEqual(process.Activities.Count, loadedProcess.Activities.Count); Assert.AreEqual(process.Activities[0].Sequence, loadedProcess.Activities[0].Sequence); Assert.AreEqual(process.Activities[1].Sequence, loadedProcess.Activities[1].Sequence); Assert.AreEqual(process.Activities[0].Task.TaskID, loadedProcess.Activities[0].Task.TaskID); }
public void BuildStartBranchProcessTaskProcessTest() { IWfProcessDescriptor processDesp = CreateProcessWithAutoMaintainProperty(); IWfProcess process = WfProcessTestCommon.StartupProcess(processDesp); MoveToExecutor(process); process = WfRuntime.GetProcessByProcessID(process.ID); IWfActivity ownerActivity = process.CurrentActivity; Console.WriteLine("OwnerActivityID: {0}", ownerActivity.ID); //在Template设置资源为一个组织,用于后续分发分支流程的测试 IWfBranchProcessTemplateDescriptor template = ownerActivity.Descriptor.BranchProcessTemplates[0]; IUser userInTemplate = template.Resources.ToUsers().FirstOrDefault(); WfDepartmentResourceDescriptor deptResourceDesp = new WfDepartmentResourceDescriptor(userInTemplate.Parent); template.Resources.Clear(); template.Resources.Add(deptResourceDesp); SysTaskAdapter.Instance.ClearAll(); StartBranchProcessSysTaskProcessBuilder builder = new StartBranchProcessSysTaskProcessBuilder(ownerActivity.ID, template, true); SysTaskProcess sysTaskProcess = builder.Build(); SysTaskProcessRuntime.ClearCache(); sysTaskProcess = SysTaskProcessRuntime.GetProcessByID(sysTaskProcess.ID); Console.WriteLine("SysTaskProcess ID: {0}", sysTaskProcess.ID); Console.WriteLine("SysTaskProcess Activities: {0}", sysTaskProcess.Activities.Count); Assert.AreEqual(template.Resources.ToUsers().Count + 1, sysTaskProcess.Activities.Count); }