コード例 #1
0
 public function testGetRoleWithGroups()
 {
     $projectModel = new Project($this->container);
     $groupModel = new Group($this->container);
     $groupRoleModel = new ProjectGroupRole($this->container);
     $groupMemberModel = new GroupMember($this->container);
     $userRoleModel = new ProjectUserRole($this->container);
     $this->assertEquals(1, $projectModel->create(array('name' => 'Test')));
     $this->assertEquals(1, $groupModel->create('Group A'));
     $this->assertTrue($groupMemberModel->addUser(1, 1));
     $this->assertTrue($groupRoleModel->addGroup(1, 1, Role::PROJECT_VIEWER));
     $this->assertEquals(Role::PROJECT_VIEWER, $userRoleModel->getUserRole(1, 1));
     $this->assertEquals('', $userRoleModel->getUserRole(1, 2));
 }
コード例 #2
0
 public function testCloneProjectWithUsers()
 {
     $p = new Project($this->container);
     $c = new Category($this->container);
     $pp = new ProjectUserRole($this->container);
     $u = new User($this->container);
     $pd = new ProjectDuplication($this->container);
     $this->assertEquals(2, $u->create(array('username' => 'unittest1', 'password' => 'unittest')));
     $this->assertEquals(3, $u->create(array('username' => 'unittest2', 'password' => 'unittest')));
     $this->assertEquals(4, $u->create(array('username' => 'unittest3', 'password' => 'unittest')));
     $this->assertEquals(1, $p->create(array('name' => 'P1')));
     $this->assertTrue($pp->addUser(1, 2, Role::PROJECT_MEMBER));
     $this->assertTrue($pp->addUser(1, 3, Role::PROJECT_MEMBER));
     $this->assertTrue($pp->addUser(1, 4, Role::PROJECT_MANAGER));
     $this->assertEquals(Role::PROJECT_MEMBER, $pp->getUserRole(1, 2));
     $this->assertEquals(Role::PROJECT_MEMBER, $pp->getUserRole(1, 3));
     $this->assertEquals(Role::PROJECT_MANAGER, $pp->getUserRole(1, 4));
     $this->assertEquals(2, $pd->duplicate(1));
     $project = $p->getById(2);
     $this->assertNotEmpty($project);
     $this->assertEquals('P1 (Clone)', $project['name']);
     $this->assertEquals(3, count($pp->getUsers(2)));
     $this->assertEquals(Role::PROJECT_MEMBER, $pp->getUserRole(2, 2));
     $this->assertEquals(Role::PROJECT_MEMBER, $pp->getUserRole(2, 3));
     $this->assertEquals(Role::PROJECT_MANAGER, $pp->getUserRole(2, 4));
 }
コード例 #3
0
 public function testCloneProjectWithGroups()
 {
     $p = new Project($this->container);
     $c = new Category($this->container);
     $pd = new ProjectDuplication($this->container);
     $userModel = new User($this->container);
     $groupModel = new Group($this->container);
     $groupMemberModel = new GroupMember($this->container);
     $projectGroupRoleModel = new ProjectGroupRole($this->container);
     $projectUserRoleModel = new ProjectUserRole($this->container);
     $this->assertEquals(1, $p->create(array('name' => 'P1')));
     $this->assertEquals(1, $groupModel->create('G1'));
     $this->assertEquals(2, $groupModel->create('G2'));
     $this->assertEquals(3, $groupModel->create('G3'));
     $this->assertEquals(2, $userModel->create(array('username' => 'user1')));
     $this->assertEquals(3, $userModel->create(array('username' => 'user2')));
     $this->assertEquals(4, $userModel->create(array('username' => 'user3')));
     $this->assertTrue($groupMemberModel->addUser(1, 2));
     $this->assertTrue($groupMemberModel->addUser(2, 3));
     $this->assertTrue($groupMemberModel->addUser(3, 4));
     $this->assertTrue($projectGroupRoleModel->addGroup(1, 1, Role::PROJECT_MANAGER));
     $this->assertTrue($projectGroupRoleModel->addGroup(1, 2, Role::PROJECT_MEMBER));
     $this->assertTrue($projectGroupRoleModel->addGroup(1, 3, Role::PROJECT_VIEWER));
     $this->assertEquals(2, $pd->duplicate(1));
     $this->assertCount(3, $projectGroupRoleModel->getGroups(2));
     $this->assertEquals(Role::PROJECT_MANAGER, $projectUserRoleModel->getUserRole(2, 2));
     $this->assertEquals(Role::PROJECT_MEMBER, $projectUserRoleModel->getUserRole(2, 3));
     $this->assertEquals(Role::PROJECT_VIEWER, $projectUserRoleModel->getUserRole(2, 4));
 }