248 lines
7.2 KiB
PHP
248 lines
7.2 KiB
PHP
<?php
|
|
|
|
require_once __DIR__.'/Base.php';
|
|
|
|
class MeTest extends Base
|
|
{
|
|
public function testCreateProject()
|
|
{
|
|
$this->assertEquals(1, $this->app->createProject('team project'));
|
|
}
|
|
|
|
public function testCreateUser()
|
|
{
|
|
$this->assertEquals(2, $this->app->createUser('user', 'password'));
|
|
}
|
|
|
|
/**
|
|
* @expectedException JsonRPC\Exception\AccessDeniedException
|
|
*/
|
|
public function testNotAllowedAppProcedure()
|
|
{
|
|
$this->app->getMe();
|
|
}
|
|
|
|
/**
|
|
* @expectedException JsonRPC\Exception\AccessDeniedException
|
|
*/
|
|
public function testNotAllowedUserProcedure()
|
|
{
|
|
$this->user->getAllProjects();
|
|
}
|
|
|
|
/**
|
|
* @expectedException JsonRPC\Exception\AccessDeniedException
|
|
*/
|
|
public function testNotAllowedProjectForUser()
|
|
{
|
|
$this->user->getProjectById(1);
|
|
}
|
|
|
|
public function testAllowedProjectForAdmin()
|
|
{
|
|
$this->assertNotEmpty($this->admin->getProjectById(1));
|
|
}
|
|
|
|
public function testGetTimezone()
|
|
{
|
|
$this->assertEquals('UTC', $this->user->getTimezone());
|
|
}
|
|
|
|
public function testGetVersion()
|
|
{
|
|
$this->assertEquals('master', $this->user->getVersion());
|
|
}
|
|
|
|
public function testGetDefaultColor()
|
|
{
|
|
$this->assertEquals('yellow', $this->user->getDefaultTaskColor());
|
|
}
|
|
|
|
public function testGetDefaultColors()
|
|
{
|
|
$colors = $this->user->getDefaultTaskColors();
|
|
$this->assertNotEmpty($colors);
|
|
$this->assertArrayHasKey('red', $colors);
|
|
}
|
|
|
|
public function testGetColorList()
|
|
{
|
|
$colors = $this->user->getColorList();
|
|
$this->assertNotEmpty($colors);
|
|
$this->assertArrayHasKey('red', $colors);
|
|
$this->assertEquals('Red', $colors['red']);
|
|
}
|
|
|
|
public function testGetMe()
|
|
{
|
|
$profile = $this->user->getMe();
|
|
$this->assertNotEmpty($profile);
|
|
$this->assertEquals(2, $profile['id']);
|
|
$this->assertEquals('user', $profile['username']);
|
|
}
|
|
|
|
public function testCreateMyPrivateProject()
|
|
{
|
|
$this->assertEquals(2, $this->user->createMyPrivateProject('my project'));
|
|
}
|
|
|
|
public function testGetMyProjectsList()
|
|
{
|
|
$projects = $this->user->getMyProjectsList();
|
|
$this->assertNotEmpty($projects);
|
|
$this->assertArrayNotHasKey(1, $projects);
|
|
$this->assertArrayHasKey(2, $projects);
|
|
$this->assertEquals('my project', $projects[2]);
|
|
}
|
|
|
|
public function testGetMyProjects()
|
|
{
|
|
$projects = $this->user->getMyProjects();
|
|
$this->assertNotEmpty($projects);
|
|
$this->assertCount(1, $projects);
|
|
$this->assertEquals(2, $projects[0]['id']);
|
|
$this->assertEquals('my project', $projects[0]['name']);
|
|
$this->assertNotEmpty($projects[0]['url']['calendar']);
|
|
$this->assertNotEmpty($projects[0]['url']['board']);
|
|
$this->assertNotEmpty($projects[0]['url']['list']);
|
|
}
|
|
|
|
public function testGetProjectById()
|
|
{
|
|
$project = $this->user->getProjectById(2);
|
|
$this->assertNotEmpty($project);
|
|
$this->assertEquals('my project', $project['name']);
|
|
$this->assertEquals(1, $project['is_private']);
|
|
}
|
|
|
|
public function testCreateTask()
|
|
{
|
|
$this->assertEquals(1, $this->user->createTask('my user title', 2));
|
|
$this->assertEquals(2, $this->admin->createTask('my admin title', 1));
|
|
}
|
|
|
|
public function testCreateTaskWithWrongMember()
|
|
{
|
|
$this->assertFalse($this->user->createTask(array('title' => 'something', 'project_id' => 2, 'owner_id' => 1)));
|
|
$this->assertFalse($this->app->createTask(array('title' => 'something', 'project_id' => 1, 'owner_id' => 2)));
|
|
}
|
|
|
|
public function testGetTask()
|
|
{
|
|
$task = $this->user->getTask(1);
|
|
$this->assertNotEmpty($task);
|
|
$this->assertEquals('my user title', $task['title']);
|
|
$this->assertEquals('yellow', $task['color_id']);
|
|
$this->assertArrayHasKey('color', $task);
|
|
$this->assertArrayHasKey('name', $task['color']);
|
|
$this->assertArrayHasKey('border', $task['color']);
|
|
$this->assertArrayHasKey('background', $task['color']);
|
|
}
|
|
|
|
/**
|
|
* @expectedException JsonRPC\Exception\AccessDeniedException
|
|
*/
|
|
public function testGetAdminTask()
|
|
{
|
|
$this->user->getTask(2);
|
|
}
|
|
|
|
/**
|
|
* @expectedException JsonRPC\Exception\AccessDeniedException
|
|
*/
|
|
public function testGetProjectActivityDenied()
|
|
{
|
|
$this->user->getProjectActivity(1);
|
|
}
|
|
|
|
public function testGetProjectActivityAllowed()
|
|
{
|
|
$activity = $this->user->getProjectActivity(2);
|
|
$this->assertNotEmpty($activity);
|
|
}
|
|
|
|
public function testGetMyActivityStream()
|
|
{
|
|
$activity = $this->user->getMyActivityStream();
|
|
$this->assertNotEmpty($activity);
|
|
}
|
|
|
|
public function testCloseTask()
|
|
{
|
|
$this->assertTrue($this->user->closeTask(1));
|
|
}
|
|
|
|
public function testOpenTask()
|
|
{
|
|
$this->assertTrue($this->user->openTask(1));
|
|
}
|
|
|
|
public function testMoveTaskPosition()
|
|
{
|
|
$this->assertTrue($this->user->moveTaskPosition(2, 1, 2, 1));
|
|
}
|
|
|
|
public function testUpdateTaskWithWrongMember()
|
|
{
|
|
$this->assertFalse($this->user->updateTask(array('id' => 1, 'title' => 'new title', 'reference' => 'test', 'owner_id' => 1)));
|
|
}
|
|
|
|
public function testUpdateTask()
|
|
{
|
|
$this->assertTrue($this->user->updateTask(array('id' => 1, 'title' => 'new title', 'reference' => 'test', 'owner_id' => 2)));
|
|
}
|
|
|
|
public function testGetbyReference()
|
|
{
|
|
$task = $this->user->getTaskByReference(2, 'test');
|
|
$this->assertNotEmpty($task);
|
|
$this->assertEquals('new title', $task['title']);
|
|
$this->assertEquals(2, $task['column_id']);
|
|
$this->assertEquals(1, $task['position']);
|
|
}
|
|
|
|
public function testGetMyDashboard()
|
|
{
|
|
$dashboard = $this->user->getMyDashboard();
|
|
$this->assertNotEmpty($dashboard);
|
|
$this->assertArrayHasKey('projects', $dashboard);
|
|
$this->assertArrayHasKey('tasks', $dashboard);
|
|
$this->assertArrayHasKey('subtasks', $dashboard);
|
|
$this->assertNotEmpty($dashboard['projects']);
|
|
$this->assertNotEmpty($dashboard['tasks']);
|
|
}
|
|
|
|
public function testGetBoard()
|
|
{
|
|
$this->assertNotEmpty($this->user->getBoard(2));
|
|
}
|
|
|
|
public function testCreateOverdueTask()
|
|
{
|
|
$this->assertNotFalse($this->user->createTask(array(
|
|
'title' => 'overdue task',
|
|
'project_id' => 2,
|
|
'date_due' => date('Y-m-d', strtotime('-2days')),
|
|
'owner_id' => 2,
|
|
)));
|
|
}
|
|
|
|
public function testGetMyOverdueTasks()
|
|
{
|
|
$tasks = $this->user->getMyOverdueTasks();
|
|
$this->assertNotEmpty($tasks);
|
|
$this->assertCount(1, $tasks);
|
|
$this->assertEquals('overdue task', $tasks[0]['title']);
|
|
$this->assertEquals('my project', $tasks[0]['project_name']);
|
|
}
|
|
|
|
public function testGetOverdueTasksByProject()
|
|
{
|
|
$tasks = $this->user->getOverdueTasksByProject(2);
|
|
$this->assertNotEmpty($tasks);
|
|
$this->assertCount(1, $tasks);
|
|
$this->assertEquals('overdue task', $tasks[0]['title']);
|
|
$this->assertEquals('my project', $tasks[0]['project_name']);
|
|
}
|
|
}
|