Improve project api procedures

This commit is contained in:
Frédéric Guillot
2014-09-09 15:15:04 +02:00
parent 685d1cc44c
commit ef95c7c284
8 changed files with 438 additions and 20 deletions

View File

@@ -24,7 +24,7 @@ class Api extends PHPUnit_Framework_TestCase
if ($projects) {
foreach ($projects as $project) {
$this->client->removeProject($project['id']);
$this->assertTrue($this->client->removeProject($project['id']));
}
}
}
@@ -45,13 +45,13 @@ class Api extends PHPUnit_Framework_TestCase
{
$project = $this->client->getProjectById(1);
$this->assertNotEmpty($project);
$this->assertTrue($this->client->updateProject(array('id' => 1, 'name' => 'API test 2', 'is_active' => 0)));
$this->assertTrue($this->client->execute('updateProject', array('id' => 1, 'name' => 'API test 2', 'is_active' => 0)));
$project = $this->client->getProjectById(1);
$this->assertEquals('API test 2', $project['name']);
$this->assertEquals(0, $project['is_active']);
$this->assertTrue($this->client->updateProject(array('id' => 1, 'name' => 'API test', 'is_active' => 1)));
$this->assertTrue($this->client->execute('updateProject', array('id' => 1, 'name' => 'API test', 'is_active' => 1)));
$project = $this->client->getProjectById(1);
$this->assertEquals('API test', $project['name']);

View File

@@ -40,6 +40,7 @@ require_once __DIR__.'/../../app/Model/Board.php';
require_once __DIR__.'/../../app/Model/Action.php';
require_once __DIR__.'/../../app/Model/Category.php';
require_once __DIR__.'/../../app/Model/SubTask.php';
require_once __DIR__.'/../../app/Model/File.php';
require_once __DIR__.'/../../app/Action/Base.php';
require_once __DIR__.'/../../app/Action/TaskClose.php';

View File

@@ -15,7 +15,81 @@ class ProjectTest extends Base
$p = new Project($this->registry);
$this->assertEquals(1, $p->create(array('name' => 'UnitTest')));
$this->assertNotEmpty($p->getById(1));
$project = $p->getById(1);
$this->assertNotEmpty($project);
$this->assertEquals(1, $project['is_active']);
$this->assertEquals(0, $project['is_public']);
$this->assertEmpty($project['token']);
}
public function testRemove()
{
$p = new Project($this->registry);
$this->assertEquals(1, $p->create(array('name' => 'UnitTest')));
$this->assertTrue($p->remove(1));
$this->assertFalse($p->remove(1234));
}
public function testEnable()
{
$p = new Project($this->registry);
$this->assertEquals(1, $p->create(array('name' => 'UnitTest')));
$this->assertTrue($p->disable(1));
$project = $p->getById(1);
$this->assertNotEmpty($project);
$this->assertEquals(0, $project['is_active']);
$this->assertFalse($p->disable(1111));
}
public function testDisable()
{
$p = new Project($this->registry);
$this->assertEquals(1, $p->create(array('name' => 'UnitTest')));
$this->assertTrue($p->disable(1));
$this->assertTrue($p->enable(1));
$project = $p->getById(1);
$this->assertNotEmpty($project);
$this->assertEquals(1, $project['is_active']);
$this->assertFalse($p->enable(1234567));
}
public function testEnablePublicAccess()
{
$p = new Project($this->registry);
$this->assertEquals(1, $p->create(array('name' => 'UnitTest')));
$this->assertTrue($p->enablePublicAccess(1));
$project = $p->getById(1);
$this->assertNotEmpty($project);
$this->assertEquals(1, $project['is_public']);
$this->assertNotEmpty($project['token']);
$this->assertFalse($p->enablePublicAccess(123));
}
public function testDisablePublicAccess()
{
$p = new Project($this->registry);
$this->assertEquals(1, $p->create(array('name' => 'UnitTest')));
$this->assertTrue($p->enablePublicAccess(1));
$this->assertTrue($p->disablePublicAccess(1));
$project = $p->getById(1);
$this->assertNotEmpty($project);
$this->assertEquals(0, $project['is_public']);
$this->assertEmpty($project['token']);
$this->assertFalse($p->disablePublicAccess(123));
}
public function testAllowEverybody()
@@ -66,8 +140,8 @@ class ProjectTest extends Base
// We create a project
$this->assertEquals(1, $p->create(array('name' => 'UnitTest')));
// We revoke our admin user
$this->assertTrue($p->revokeUser(1, 1));
// We revoke our admin user (not existing row)
$this->assertFalse($p->revokeUser(1, 1));
// We should have nobody in the users list
$this->assertEmpty($p->getAllowedUsers(1));

View File

@@ -35,6 +35,18 @@ class TaskTest extends Base
$this->assertEquals(time(), $task['date_modification']);
}
public function testRemove()
{
$t = new Task($this->registry);
$p = new Project($this->registry);
$this->assertEquals(1, $p->create(array('name' => 'UnitTest')));
$this->assertEquals(1, $t->create(array('title' => 'Task #1', 'project_id' => 1)));
$this->assertTrue($t->remove(1));
$this->assertFalse($t->remove(1234));
}
public function testMoveTaskWithBadPreviousPosition()
{
$t = new Task($this->registry);