public function testGetAssignableUsersList() { $projectModel = new Project($this->container); $userModel = new User($this->container); $userRoleModel = new ProjectUserRole($this->container); $this->assertEquals(1, $projectModel->create(array('name' => 'Test1'))); $this->assertEquals(2, $projectModel->create(array('name' => 'Test2'))); $this->assertEquals(2, $userModel->create(array('username' => 'user1', 'name' => 'User1'))); $this->assertEquals(3, $userModel->create(array('username' => 'user2', 'name' => 'User2'))); $this->assertTrue($userRoleModel->addUser(2, 1, Role::PROJECT_MEMBER)); $this->assertTrue($userRoleModel->addUser(1, 1, Role::PROJECT_MEMBER)); $this->assertTrue($userRoleModel->addUser(1, 2, Role::PROJECT_MANAGER)); $this->assertTrue($userRoleModel->addUser(1, 3, Role::PROJECT_VIEWER)); $users = $userRoleModel->getAssignableUsersList(1); $this->assertCount(3, $users); $this->assertEquals('Unassigned', $users[0]); $this->assertEquals('admin', $users[1]); $this->assertEquals('User1', $users[2]); $users = $userRoleModel->getAssignableUsersList(1, true, true, true); $this->assertCount(4, $users); $this->assertEquals('Unassigned', $users[0]); $this->assertEquals('Everybody', $users[-1]); $this->assertEquals('admin', $users[1]); $this->assertEquals('User1', $users[2]); $users = $userRoleModel->getAssignableUsersList(2, true, true, true); $this->assertCount(1, $users); $this->assertEquals('admin', $users[1]); }