setUpAppClient(); $this->setUpAdminUser(); $this->setUpManagerUser(); $this->setUpStandardUser(); } public function setUpAppClient() { $this->app = new JsonRPC\Client(API_URL); $this->app->authentication('jsonrpc', API_KEY); $this->app->getHttpClient()->withDebug()->withTimeout(10); } public function setUpAdminUser() { $this->adminUserId = $this->getUserId('superuser'); if (! $this->adminUserId) { $this->adminUserId = $this->app->createUser('superuser', 'password', 'Admin User', 'user@localhost', 'app-admin'); $this->assertNotFalse($this->adminUserId); } $this->admin = new JsonRPC\Client(API_URL); $this->admin->authentication('superuser', 'password'); $this->admin->getHttpClient()->withDebug(); } public function setUpManagerUser() { $this->managerUserId = $this->getUserId('manager'); if (! $this->managerUserId) { $this->managerUserId = $this->app->createUser('manager', 'password', 'Manager User', 'user@localhost', 'app-manager'); $this->assertNotFalse($this->managerUserId); } $this->manager = new JsonRPC\Client(API_URL); $this->manager->authentication('manager', 'password'); $this->manager->getHttpClient()->withDebug(); } public function setUpStandardUser() { $this->userUserId = $this->getUserId('user'); if (! $this->userUserId) { $this->userUserId = $this->app->createUser('user', 'password', 'Standard User', 'user@localhost', 'app-user'); $this->assertNotFalse($this->userUserId); } $this->user = new JsonRPC\Client(API_URL); $this->user->authentication('user', 'password'); $this->user->getHttpClient()->withDebug(); } public function getUserId($username) { $user = $this->app->getUserByName($username); if (! empty($user)) { return $user['id']; } return 0; } public function assertCreateTeamProject() { $this->projectId = $this->app->createProject($this->projectName, 'Description'); $this->assertNotFalse($this->projectId); } public function assertCreateUser() { $this->userId = $this->app->createUser($this->username, 'password'); $this->assertNotFalse($this->userId); } public function assertCreateGroups() { $this->groupId1 = $this->app->createGroup($this->groupName1); $this->groupId2 = $this->app->createGroup($this->groupName2, 'External ID'); $this->assertNotFalse($this->groupId1); $this->assertNotFalse($this->groupId2); } public function assertCreateTask() { $this->taskId = $this->app->createTask(array('title' => $this->taskTitle, 'project_id' => $this->projectId)); $this->assertNotFalse($this->taskId); } }