Exemple #1
0
        public void AddOrRemoveUserToGroupExecutorTest()
        {
            SCGroup group = SCObjectGenerator.PrepareGroupObject();

            SCObjectOperations.Instance.AddGroup(group, SCOrganization.GetRoot());

            SCUser user1 = SCObjectGenerator.PrepareUserObject();

            SCObjectOperations.Instance.AddUser(user1, SCOrganization.GetRoot());

            Console.WriteLine("UserID: {0}, GroupID: {1}", user1.ID, group.ID);

            SCMemberRelation mr = SCObjectOperations.Instance.AddUserToGroup(user1, group);

            SCObjectOperations.Instance.RemoveUserFromGroup(user1, group);

            // 确认删除
            Assert.IsFalse(group.CurrentMembersRelations.ContainsKey(user1.ID));
            Assert.IsFalse(user1.CurrentMemberOfRelations.ContainsKey(group.ID));

            SCObjectOperations.Instance.AddUserToGroup(user1, group);

            // 重置数据
            group.ClearRelativeData();
            user1.ClearRelativeData();

            // 确认又加回来了
            Assert.IsTrue(group.CurrentUsers.ContainsKey(user1.ID));
            Assert.IsTrue(user1.CurrentGroups.ContainsKey(group.ID));

            Console.WriteLine("UserID: {0}, GroupID: {1}", user1.ID, group.ID);
        }
        public void MoveUserNotChangeOwnerTest()
        {
            SCOrganization root = SCOrganization.GetRoot();

            SCUser user = SCObjectGenerator.PrepareUserObject();

            SCObjectOperations.Instance.AddUser(user, root);

            SCOrganization sidelineOrg = SCObjectGenerator.PrepareOrganizationObject();

            SCObjectOperations.Instance.AddOrganization(sidelineOrg, root);

            //设置了兼职
            SCObjectOperations.Instance.AddUser(user, sidelineOrg);

            SCOrganization targetOrg = SCObjectGenerator.PrepareOrganizationObject();

            SCObjectOperations.Instance.AddOrganization(targetOrg, root);

            SCObjectOperations.Instance.MoveObjectToOrganization(sidelineOrg, user, targetOrg);

            user = (SCUser)SchemaObjectAdapter.Instance.Load(user.ID);

            user.ClearRelativeData();
            targetOrg.ClearRelativeData();
            sidelineOrg.ClearRelativeData();
            root.ClearRelativeData();

            Assert.IsTrue(user.CurrentParents.ContainsKey(targetOrg.ID));
            Assert.IsTrue(targetOrg.CurrentChildren.ContainsKey(user.ID));
            Assert.IsFalse(sidelineOrg.CurrentChildren.ContainsKey(user.ID));
            Assert.AreNotEqual(targetOrg.ID, user.OwnerID);
        }
        public void ChangeOwnerTest()
        {
            SCOrganization root = SCOrganization.GetRoot();

            SCUser user = SCObjectGenerator.PrepareUserObject();

            SCObjectOperations.Instance.AddUser(user, root);

            SCOrganization sidelineOrg = SCObjectGenerator.PrepareOrganizationObject();

            SCObjectOperations.Instance.AddOrganization(sidelineOrg, root);

            //设置了兼职
            SCObjectOperations.Instance.AddUser(user, sidelineOrg);

            SCObjectOperations.Instance.ChangeOwner(user, sidelineOrg);

            user = (SCUser)SchemaObjectAdapter.Instance.Load(user.ID);

            user.ClearRelativeData();
            sidelineOrg.ClearRelativeData();
            root.ClearRelativeData();

            Console.WriteLine(user.OwnerName);
            Assert.AreEqual(sidelineOrg.ID, user.OwnerID);
        }
Exemple #4
0
        public void RemoveSecretaryFromUserExecutorTest()
        {
            SCUser secretary = SCObjectGenerator.PrepareUserObject("罗", "剑", "罗剑" + UuidHelper.NewUuidString());

            SCObjectOperations.Instance.AddUser(secretary, SCOrganization.GetRoot());

            SCUser user1 = SCObjectGenerator.PrepareUserObject();

            SCObjectOperations.Instance.AddUser(user1, SCOrganization.GetRoot());

            SCSecretaryRelation sr = SCObjectOperations.Instance.AddSecretaryToUser(secretary, user1);

            Assert.IsTrue(user1.CurrentSecretaries.ContainsKey(secretary.ID));
            Assert.IsTrue(secretary.CurrentSecretariesOf.ContainsKey(user1.ID));

            secretary.ClearRelativeData();
            user1.ClearRelativeData();

            SCObjectOperations.Instance.RemoveSecretaryFromUser(secretary, user1);

            Assert.IsFalse(user1.CurrentSecretaries.ContainsKey(secretary.ID));
            Assert.IsFalse(secretary.CurrentSecretariesOf.ContainsKey(user1.ID));
        }