public void FilterAndMergeNotMatchedActivityMatrixAndApprovalMatrixTest() { SOARolePropertiesQueryParam queryParam = new SOARolePropertiesQueryParam(); queryParam.QueryName = "CostCenter"; queryParam.QueryValue = "1001"; WfActivityMatrixResourceDescriptor resource = ActivityMatrixHelper.PrepareActivityMatrixResourceDescriptor(); resource.Rows.ForEach(row => row.Values.FindByColumnName(SOARolePropertyDefinition.ActivityCodeColumn).Value = "NotMatched"); SOARolePropertyRowCollection activityRows = resource.Rows.Query(queryParam); int originalActivityCount = activityRows.Count; WfApprovalMatrix approvalMatrix = ApprovalMatrixHelper.PrepareApprovalMatrix(); SOARolePropertyRowCollection approvalRows = approvalMatrix.Rows.Query(queryParam); int originalApprovalCount = approvalMatrix.PropertyDefinitions.Count - 1; activityRows.MergeApprovalMatrix(resource.PropertyDefinitions, approvalRows, approvalMatrix.PropertyDefinitions); activityRows.AssertAndOutputMatrixOperators(); Assert.AreEqual(originalActivityCount + originalApprovalCount, activityRows.Count); }
public void ActivityMatrixWithNotifierTest() { WfActivityMatrixResourceDescriptor resource = ActivityMatrixHelper.PrepareActivityMatrixResourceDescriptor(); IWfProcessDescriptor processDesp = ProcessHelper.GetDynamicProcessDesp(resource); IWfProcess process = ProcessHelper.StartupProcess(processDesp, new Dictionary <string, object>() { { "CostCenter", "1001" }, { "PayMethod", "1" }, { "Age", 30 } }); Console.WriteLine(process.Activities.Count); WfOutputHelper.OutputMainStream(process); WfOutputHelper.OutputEveryActivities(process); Assert.AreEqual(5, process.Activities.Count); Assert.IsTrue(process.Descriptor.Activities["ND10"].EnterEventReceivers.Count > 0); Assert.IsTrue(process.Descriptor.Activities["ND20"].EnterEventReceivers.Count > 0); Assert.IsTrue(process.Descriptor.Activities["ND10"].LeaveEventReceivers.Count > 0); Assert.IsTrue(process.Descriptor.Activities["ND20"].LeaveEventReceivers.Count > 0); }
public void MergeMatchedActivityMatrixAndApprovalMatrixTest() { WfActivityMatrixResourceDescriptor resource = ActivityMatrixHelper.PrepareActivityMatrixResourceDescriptor(); int originalCount = resource.Rows.Count; WfApprovalMatrix approvalMatrix = ApprovalMatrixHelper.PrepareApprovalMatrix(); resource.MergeApprovalMatrix(approvalMatrix); Assert.AreEqual(originalCount, resource.Rows.Count); resource.AssertAndOutputMatrixOperators(); }
public void MergeNotMatchedActivityMatrixAndApprovalMatrixTest() { WfActivityMatrixResourceDescriptor resource = ActivityMatrixHelper.PrepareActivityMatrixResourceDescriptor(); int originalCount = resource.Rows.Count; resource.Rows.ForEach(row => row.Values.FindByColumnName(SOARolePropertyDefinition.ActivityCodeColumn).Value = "NotMatched"); WfApprovalMatrix approvalMatrix = ApprovalMatrixHelper.PrepareApprovalMatrix(); resource.MergeApprovalMatrix(approvalMatrix); resource.AssertAndOutputMatrixOperators(); Assert.AreEqual(8 + originalCount, resource.Rows.Count); }
public void ActiveMatrixResourceJsonSerializationTest() { WfActivityMatrixResourceDescriptor expected = ActivityMatrixHelper.PrepareActivityMatrixResourceDescriptor(); WfConverterHelper.RegisterConverters(); string serializedData = JSONSerializerExecute.Serialize(expected); Console.WriteLine(serializedData); WfActivityMatrixResourceDescriptor actual = JSONSerializerExecute.Deserialize <WfActivityMatrixResourceDescriptor>(serializedData); Assert.AreEqual(expected.PropertyDefinitions.Count, actual.PropertyDefinitions.Count); Assert.AreEqual(expected.Rows.Count, actual.Rows.Count); Assert.AreEqual(expected.PropertyDefinitions.GetAllKeys().Count(), actual.PropertyDefinitions.GetAllKeys().Count()); }
public void MergeNotMatchedActivityMatrixAndApprovalMatrixProcessTest() { WfApprovalMatrix approvalMatrix = ApprovalMatrixHelper.PrepareApprovalMatrix(); WfApprovalMatrixAdapter.Instance.Update(approvalMatrix); WfActivityMatrixResourceDescriptor resource = ActivityMatrixHelper.PrepareActivityMatrixResourceDescriptor(); resource.Rows.ForEach(row => row.Values.FindByColumnName(SOARolePropertyDefinition.ActivityCodeColumn).Value = "NotMatched"); IWfProcessDescriptor processDesp = ProcessHelper.GetDynamicProcessDesp(resource, approvalMatrix.ID); IWfProcess process = ProcessHelper.StartupProcess(processDesp, new Dictionary <string, object>() { { "CostCenter", "1001" }, { "PayMethod", "1" }, { "Age", 30 } }); Console.WriteLine(process.Activities.Count); WfOutputHelper.OutputMainStream(process); WfOutputHelper.OutputEveryActivities(process); process.Activities.ForEach(act => { if (act.Descriptor.ActivityType == WfActivityType.NormalActivity) { if (act.Descriptor.Properties.GetValue("IsDynamic", false) == false) { Console.WriteLine(act.Descriptor.Name); Assert.IsTrue(act.Descriptor.Name.IndexOf("审批") >= 0); } } }); Assert.AreEqual(8, process.Activities.Count); }
public void FilterAndMergeMatchedActiveMatrixWithRoleAndApprovalMatrixTest() { SOARolePropertiesQueryParam queryParam = new SOARolePropertiesQueryParam(); queryParam.QueryName = "CostCenter"; queryParam.QueryValue = "1002"; WfActivityMatrixResourceDescriptor resource = ActivityMatrixHelper.PrepareActivityMatrixResourceDescriptor(); SOARolePropertyRowCollection activityRows = resource.Rows.Query(queryParam); int originalCount = activityRows.Count; WfApprovalMatrix approvalMatrix = ApprovalMatrixHelper.PrepareApprovalMatrix(); SOARolePropertyRowCollection approvalRows = approvalMatrix.Rows.Query(queryParam); activityRows.MergeApprovalMatrix(resource.PropertyDefinitions, approvalRows, approvalMatrix.PropertyDefinitions); activityRows.AssertAndOutputMatrixOperators(); Assert.AreEqual(3, activityRows.Count); }