예제 #1
0
        public void TestUserIsNotMember()
        {
            User user = this.CreateUser(this.CreateTenant());

            Group groupA = new Group(user.TenantId, "GroupA", "A group named GroupA.");
            Group groupB = new Group(user.TenantId, "GroupB", "A group named GroupB.");

            Mock<IGroupRepository> groupRepository = new Mock<IGroupRepository>();
            groupRepository.Setup(r => r.GroupNamed(groupA.TenantId, groupA.Name)).Returns(groupA);
            groupRepository.Setup(r => r.GroupNamed(groupB.TenantId, groupB.Name)).Returns(groupB);
            Mock<IUserRepository> userRepository = new Mock<IUserRepository>();
            userRepository.Setup(r => r.UserWithUserName(user.TenantId, user.UserName)).Returns(user);

            GroupMemberService groupMemberService = new GroupMemberService(userRepository.Object, groupRepository.Object);

            Assert.IsFalse(groupB.IsMember(user, groupMemberService));
            Assert.IsFalse(groupA.IsMember(user, groupMemberService));
        }
예제 #2
0
        public void TestUserIsInRole()
        {
            Tenant tenant = this.CreateTenant();
            User user = this.CreateUser(tenant);
            Role managerRole = tenant.ProvisionRole("Manager", "A manager role.", true);
            Group group = new Group(user.TenantId, "Managers", "A group of managers.");

            Mock<IGroupRepository> groupRepository = new Mock<IGroupRepository>();
            groupRepository.Setup(r => r.GroupNamed(group.TenantId, group.Name)).Returns(group);
            Mock<IUserRepository> userRepository = new Mock<IUserRepository>();
            userRepository.Setup(r => r.UserWithUserName(user.TenantId, user.UserName)).Returns(user);

            GroupMemberService groupMemberService = new GroupMemberService(userRepository.Object, groupRepository.Object);

            managerRole.AssignGroup(group, groupMemberService);
            group.AddUser(user);

            Assert.IsTrue(group.IsMember(user, groupMemberService));
            Assert.IsTrue(managerRole.IsInRole(user, groupMemberService));
        }