|
|
<?php |
|
|
|
|
|
require_once __DIR__.'/BaseProcedureTest.php'; |
|
|
|
|
|
class ProjectPermissionProcedureTest extends BaseProcedureTest |
|
|
{ |
|
|
protected $projectName = 'Project with permission'; |
|
|
protected $username = 'user-project-permission'; |
|
|
protected $groupName1 = 'My group A for project permission'; |
|
|
protected $groupName2 = 'My group B for project permission'; |
|
|
|
|
|
public function testAll() |
|
|
{ |
|
|
$this->assertCreateTeamProject(); |
|
|
$this->assertCreateGroups(); |
|
|
$this->assertCreateUser(); |
|
|
|
|
|
$this->assertAddProjectUser(); |
|
|
$this->assertGetProjectUsers(); |
|
|
$this->assertGetAssignableUsers(); |
|
|
$this->assertChangeProjectUserRole(); |
|
|
$this->assertRemoveProjectUser(); |
|
|
|
|
|
$this->assertAddProjectGroup(); |
|
|
$this->assertGetProjectUsers(); |
|
|
$this->assertGetAssignableUsers(); |
|
|
$this->assertChangeProjectGroupRole(); |
|
|
$this->assertRemoveProjectGroup(); |
|
|
} |
|
|
|
|
|
public function assertAddProjectUser() |
|
|
{ |
|
|
$this->assertTrue($this->app->addProjectUser($this->projectId, $this->userId)); |
|
|
} |
|
|
|
|
|
public function assertGetProjectUsers() |
|
|
{ |
|
|
$members = $this->app->getProjectUsers($this->projectId); |
|
|
$this->assertCount(1, $members); |
|
|
$this->assertArrayHasKey($this->userId, $members); |
|
|
$this->assertEquals($this->username, $members[$this->userId]); |
|
|
} |
|
|
|
|
|
public function assertGetAssignableUsers() |
|
|
{ |
|
|
$members = $this->app->getAssignableUsers($this->projectId); |
|
|
$this->assertCount(1, $members); |
|
|
$this->assertArrayHasKey($this->userId, $members); |
|
|
$this->assertEquals($this->username, $members[$this->userId]); |
|
|
} |
|
|
|
|
|
public function assertChangeProjectUserRole() |
|
|
{ |
|
|
$this->assertTrue($this->app->changeProjectUserRole($this->projectId, $this->userId, 'project-viewer')); |
|
|
|
|
|
$members = $this->app->getAssignableUsers($this->projectId); |
|
|
$this->assertCount(0, $members); |
|
|
} |
|
|
|
|
|
public function assertRemoveProjectUser() |
|
|
{ |
|
|
$this->assertTrue($this->app->removeProjectUser($this->projectId, $this->userId)); |
|
|
|
|
|
$members = $this->app->getProjectUsers($this->projectId); |
|
|
$this->assertCount(0, $members); |
|
|
} |
|
|
|
|
|
public function assertAddProjectGroup() |
|
|
{ |
|
|
$this->assertTrue($this->app->addGroupMember($this->groupId1, $this->userId)); |
|
|
$this->assertTrue($this->app->addProjectGroup($this->projectId, $this->groupId1)); |
|
|
} |
|
|
|
|
|
public function assertChangeProjectGroupRole() |
|
|
{ |
|
|
$this->assertTrue($this->app->changeProjectGroupRole($this->projectId, $this->groupId1, 'project-viewer')); |
|
|
|
|
|
$members = $this->app->getAssignableUsers($this->projectId); |
|
|
$this->assertCount(0, $members); |
|
|
} |
|
|
|
|
|
public function assertRemoveProjectGroup() |
|
|
{ |
|
|
$this->assertTrue($this->app->removeProjectGroup($this->projectId, $this->groupId1)); |
|
|
|
|
|
$members = $this->app->getProjectUsers($this->projectId); |
|
|
$this->assertCount(0, $members); |
|
|
} |
|
|
} |
|
|
|