Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        public void ApprovalMatrixExistsTest()
        {
            WfApprovalMatrix matrix = ApprovalMatrixHelper.PrepareServerApprovalMatrix();

            WfClientProcessDescriptorServiceProxy.Instance.ImportApprovalMatrix(matrix.ID, matrix.ToExcelStream());

            Assert.IsTrue(WfClientProcessDescriptorServiceProxy.Instance.ApprovalMatrixExists(matrix.ID));
        }
Esempio n. 3
0
        public void SimpleClientApprovalMatrixToServer()
        {
            WfClientApprovalMatrix client = ApprovalMatrixHelper.PrepareClientApprovalMatrix();

            WfApprovalMatrix server = null;

            WfClientApprovalMatrixConverter.Instance.ClientToServer(client, ref server);

            client.AreSame(server);
        }
Esempio n. 4
0
        public void SimpleServerApprovalMatrixToClient()
        {
            WfApprovalMatrix server = ApprovalMatrixHelper.PrepareServerApprovalMatrix();

            WfClientApprovalMatrix client = null;

            WfClientApprovalMatrixConverter.Instance.ServerToClient(server, ref client);

            client.AreSame(server);
        }
Esempio n. 5
0
        public void DeletelMatrixExistsTest()
        {
            InitPrincipal("Requestor");

            WfApprovalMatrix matrix = ApprovalMatrixHelper.PrepareServerApprovalMatrix();

            WfClientProcessDescriptorServiceProxy.Instance.ImportApprovalMatrix(matrix.ID, matrix.ToExcelStream());
            WfClientProcessDescriptorServiceProxy.Instance.DeleteApprovalMatrix(matrix.ID);

            Assert.IsFalse(WfClientProcessDescriptorServiceProxy.Instance.ApprovalMatrixExists(matrix.ID));
        }
Esempio n. 6
0
        public void MergeMatchedOneActivityMatrixAndApprovalMatrixTest()
        {
            WfActivityMatrixResourceDescriptor resource = ActivityMatrixHelper.PrepareOneRowActivityMatrixResourceDescriptor();

            WfApprovalMatrix approvalMatrix = ApprovalMatrixHelper.PrepareOneRowApprovalMatrixResourceDescriptor();

            resource.MergeApprovalMatrix(approvalMatrix);

            Assert.AreEqual(approvalMatrix.PropertyDefinitions.Count - 1, resource.Rows.Count);

            resource.AssertAndOutputMatrixOperators();
        }
Esempio n. 7
0
        public void UpdateApprovalMatrixTest()
        {
            WfApprovalMatrix matrix = ApprovalMatrixHelper.PrepareApprovalMatrix();

            Assert.AreEqual(WfMatrixType.ApprovalMatrix, matrix.PropertyDefinitions.MatrixType);

            WfApprovalMatrixAdapter.Instance.Update(matrix);

            WfApprovalMatrix loaded = WfApprovalMatrixAdapter.Instance.LoadByID(matrix.ID);

            Assert.AreEqual(matrix.PropertyDefinitions.Count, loaded.PropertyDefinitions.Count);
            Assert.AreEqual(matrix.Rows.Count, loaded.Rows.Count);
        }
Esempio n. 8
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();
        }
Esempio n. 9
0
        public void ClientApprovalMatrixDescriptorSerializationTest()
        {
            WfClientJsonConverterHelper.Instance.RegisterConverters();

            WfClientApprovalMatrix matrix = ApprovalMatrixHelper.PrepareClientApprovalMatrix();

            string data = JSONSerializerExecute.Serialize(matrix);

            Console.WriteLine(data);

            WfClientApprovalMatrix deserialized = JSONSerializerExecute.Deserialize <WfClientApprovalMatrix>(data);

            matrix.AreSame(deserialized);
        }
Esempio n. 10
0
        public void ClientApprovalMatrixToExcelTest()
        {
            WfClientApprovalMatrix matrix = ApprovalMatrixHelper.PrepareClientApprovalMatrix();

            WorkBook workBook = matrix.ToWorkBook();

            workBook.Save("ClientApprovalMatrixToExcelTest.xlsx");

            WfClientApprovalMatrix deserialized = workBook.ToApprovalMatrix();

            deserialized.ID = matrix.ID;

            matrix.AreSame(deserialized);
        }
Esempio n. 11
0
        public void MergeNotMatchedOneActivityMatrixAndApprovalMatrixTest()
        {
            WfActivityMatrixResourceDescriptor resource = ActivityMatrixHelper.PrepareOneRowActivityMatrixResourceDescriptor();

            int originalCount = resource.Rows.Count;

            resource.Rows[0].Values.FindByColumnName(SOARolePropertyDefinition.ActivityCodeColumn).Value = "NotMatched";
            WfApprovalMatrix approvalMatrix = ApprovalMatrixHelper.PrepareOneRowApprovalMatrixResourceDescriptor();

            resource.MergeApprovalMatrix(approvalMatrix);

            Assert.AreEqual(approvalMatrix.PropertyDefinitions.Count, resource.Rows.Count);

            resource.AssertAndOutputMatrixOperators();
        }
Esempio n. 12
0
        public void ApprovalMatrixToExcelTest()
        {
            WfApprovalMatrix matrix = ApprovalMatrixHelper.PrepareApprovalMatrix();

            WorkBook workBook = matrix.ToWorkBook();

            workBook.Save("ApprovalMatrixToExcelTest.xlsx");

            WfApprovalMatrix deserialized = workBook.ToApprovalMatrix();

            deserialized.ID = matrix.ID;

            Assert.AreEqual(matrix.PropertyDefinitions.Count, deserialized.PropertyDefinitions.Count);
            Assert.AreEqual(matrix.Rows.Count, deserialized.Rows.Count);
        }
Esempio n. 13
0
        public void ImportApprovalMatrixTest()
        {
            InitPrincipal("Requestor");

            WfApprovalMatrix matrix = ApprovalMatrixHelper.PrepareServerApprovalMatrix();

            WfClientProcessDescriptorServiceProxy.Instance.ImportApprovalMatrix(matrix.ID, matrix.ToExcelStream());

            Stream stream = WfClientProcessDescriptorServiceProxy.Instance.ExportApprovalMatrix(matrix.ID);

            WorkBook workBook = WorkBook.Load(stream);

            WfApprovalMatrix deserialized = workBook.ToApprovalMatrix();

            deserialized.ID = matrix.ID;

            matrix.AreSame(deserialized);
        }
Esempio n. 14
0
        public void FilterAndMergeEmptyActivityMatrixAndApprovalMatrixTest()
        {
            WfActivityMatrixResourceDescriptor resource = new WfActivityMatrixResourceDescriptor();

            SOARolePropertiesQueryParam queryParam = new SOARolePropertiesQueryParam();

            queryParam.QueryName  = "CostCenter";
            queryParam.QueryValue = "1001";

            WfApprovalMatrix approvalMatrix = ApprovalMatrixHelper.PrepareApprovalMatrix();

            SOARolePropertyRowCollection approvalRows = approvalMatrix.Rows.Query(queryParam);

            resource.Rows.MergeApprovalMatrix(resource.PropertyDefinitions, approvalRows, approvalMatrix.PropertyDefinitions);

            //输出的只有RowNumber。因为活动矩阵没有列
            resource.Rows.AssertAndOutputMatrixOperators();

            Assert.AreEqual(3, resource.Rows.Count);
        }
Esempio n. 15
0
        public void ApprovalMatrixQueryParamMismatchProcessTest()
        {
            WfApprovalMatrix approvalMatrix = ApprovalMatrixHelper.PrepareApprovalMatrix();

            WfApprovalMatrixAdapter.Instance.Update(approvalMatrix);

            IWfProcessDescriptor processDesp = ProcessHelper.GetDynamicProcessDesp(approvalMatrix.ID);

            IWfProcess process = ProcessHelper.StartupProcess(processDesp, new Dictionary <string, object>()
            {
                { "PayMethod", "1" },
                { "Age", 30 }
            });

            SOARoleContext context = SOARoleContext.CreateContext(approvalMatrix.PropertyDefinitions, process);

            context.QueryParams.Output();

            Assert.AreEqual(1, context.QueryParams.Count);
            Assert.IsNull(context.QueryParams[0].QueryValue);
        }
Esempio n. 16
0
        public void MergeMatchedActivityMatrixAndApprovalMatrixProcessTest()
        {
            WfApprovalMatrix approvalMatrix = ApprovalMatrixHelper.PrepareApprovalMatrix();

            WfApprovalMatrixAdapter.Instance.Update(approvalMatrix);

            IWfProcessDescriptor processDesp = ProcessHelper.GetDynamicProcessDesp(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);

            Assert.AreEqual(6, process.Activities.Count);
        }
Esempio n. 17
0
        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);
        }
Esempio n. 18
0
        public void MergeActivityMatrixWithDynamicActivityAndApprovalMatrixTest()
        {
            WfActivityMatrixResourceDescriptor resource = ActivityMatrixHelper.PrepareDynamicActivityMatrixResourceDescriptor();

            WfApprovalMatrix approvalMatrix = ApprovalMatrixHelper.PrepareApprovalMatrix();

            WfApprovalMatrixAdapter.Instance.Update(approvalMatrix);

            IWfProcessDescriptor processDesp = ProcessHelper.GetDynamicProcessDesp(resource, approvalMatrix.ID);

            IWfProcess process = ProcessHelper.StartupProcess(processDesp, new Dictionary <string, object>()
            {
                { "CostCenter", "1001" },
                { "PayMethod", "1" },
                { "Age", 30 },
                { "ReportLine", new IUser[] { OguObjectSettings.GetConfig().Objects["approver1"].User, OguObjectSettings.GetConfig().Objects["cfo"].User } }
            });

            Console.WriteLine(process.Activities.Count);

            WfOutputHelper.OutputMainStream(process);
            WfOutputHelper.OutputEveryActivities(process);
        }
Esempio n. 19
0
        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);
        }