Improve automatic actions (check for compatible events/actions/parameters)

This commit is contained in:
Frédéric Guillot
2014-09-28 14:26:40 -04:00
parent 0c8de6a3f5
commit 03fa01ac7b
33 changed files with 485 additions and 361 deletions

View File

@@ -4,12 +4,51 @@ require_once __DIR__.'/Base.php';
use Model\Task;
use Model\Project;
use Model\GithubWebhook;
class ActionTaskCloseTest extends Base
{
public function testExecutable()
{
$action = new Action\TaskClose($this->registry, 3, Task::EVENT_MOVE_COLUMN);
$action->setParam('column_id', 5);
$event = array(
'project_id' => 3,
'task_id' => 3,
'column_id' => 5,
);
$this->assertTrue($action->isExecutable($event));
$action = new Action\TaskClose($this->registry, 3, GithubWebhook::EVENT_COMMIT);
$event = array(
'project_id' => 3,
'task_id' => 3,
);
$this->assertTrue($action->isExecutable($event));
}
public function testBadEvent()
{
$action = new Action\TaskClose($this->registry, 3, Task::EVENT_UPDATE);
$action->setParam('column_id', 5);
$event = array(
'project_id' => 3,
'task_id' => 3,
'column_id' => 5,
);
$this->assertFalse($action->isExecutable($event));
$this->assertFalse($action->execute($event));
}
public function testBadProject()
{
$action = new Action\TaskClose(3, new Task($this->registry));
$action = new Action\TaskClose($this->registry, 3, Task::EVENT_MOVE_COLUMN);
$action->setParam('column_id', 5);
$event = array(
@@ -24,7 +63,7 @@ class ActionTaskCloseTest extends Base
public function testBadColumn()
{
$action = new Action\TaskClose(3, new Task($this->registry));
$action = new Action\TaskClose($this->registry, 3, Task::EVENT_MOVE_COLUMN);
$action->setParam('column_id', 5);
$event = array(
@@ -38,7 +77,7 @@ class ActionTaskCloseTest extends Base
public function testExecute()
{
$action = new Action\TaskClose(1, new Task($this->registry));
$action = new Action\TaskClose($this->registry, 1, Task::EVENT_MOVE_COLUMN);
$action->setParam('column_id', 2);
// We create a task in the first column