Move webhook to project notification type

This commit is contained in:
Frederic Guillot
2015-10-17 12:30:05 -04:00
parent 3543f45c2d
commit 472f94efee
18 changed files with 311 additions and 129 deletions

View File

@@ -0,0 +1,41 @@
<?php
require_once __DIR__.'/../Base.php';
use Kanboard\Model\Project;
use Kanboard\Model\ProjectNotificationType;
class ProjectNotificationTypeTest extends Base
{
public function testGetTypes()
{
$nt = new ProjectNotificationType($this->container);
$this->assertEmpty($nt->getTypes());
$nt->setType('foo', 'Foo', 'Something1');
$nt->setType('bar', 'Bar', 'Something2');
$nt->setType('baz', 'Baz', 'Something3', true);
$this->assertEquals(array('bar' => 'Bar', 'foo' => 'Foo'), $nt->getTypes());
$this->assertEquals(array('baz'), $nt->getHiddenTypes());
}
public function testGetSelectedTypes()
{
$nt = new ProjectNotificationType($this->container);
$p = new Project($this->container);
$this->assertEquals(1, $p->create(array('name' => 'UnitTest')));
// No type defined
$this->assertEmpty($nt->getSelectedTypes(1));
// Hidden type
$nt->setType('baz', 'Baz', 'Something3', true);
$this->assertEquals(array('baz'), $nt->getSelectedTypes(1));
// User defined types
$this->assertTrue($nt->saveSelectedTypes(1, array('foo', 'bar')));
$this->assertEquals(array('baz', 'bar', 'foo'), $nt->getSelectedTypes(1));
}
}

View File

@@ -16,7 +16,7 @@ class UserNotificationTypeTest extends Base
$this->assertEquals(array('email' => 'Email', 'web' => 'Web'), $nt->getTypes());
}
public function testGetUserNotificationTypes()
public function testGetSelectedTypes()
{
$nt = new UserNotificationType($this->container);
$types = $nt->getSelectedTypes(1);

View File

@@ -8,7 +8,7 @@ use Kanboard\Model\TaskCreation;
use Kanboard\Model\TaskModification;
use Kanboard\Model\Project;
use Kanboard\Model\Comment;
use Kanboard\Subscriber\WebhookSubscriber;
use Kanboard\Subscriber\NotificationSubscriber;
class WebhookTest extends Base
{
@@ -17,7 +17,7 @@ class WebhookTest extends Base
$c = new Config($this->container);
$p = new Project($this->container);
$tc = new TaskCreation($this->container);
$this->container['dispatcher']->addSubscriber(new WebhookSubscriber($this->container));
$this->container['dispatcher']->addSubscriber(new NotificationSubscriber($this->container));
$c->save(array('webhook_url' => 'http://localhost/?task-creation'));
@@ -33,16 +33,16 @@ class WebhookTest extends Base
$this->assertEquals('task.create', $event['event_name']);
$this->assertNotEmpty($event['event_data']);
$this->assertArrayHasKey('project_id', $event['event_data']);
$this->assertArrayHasKey('task_id', $event['event_data']);
$this->assertArrayHasKey('title', $event['event_data']);
$this->assertArrayHasKey('column_id', $event['event_data']);
$this->assertArrayHasKey('color_id', $event['event_data']);
$this->assertArrayHasKey('swimlane_id', $event['event_data']);
$this->assertArrayHasKey('date_creation', $event['event_data']);
$this->assertArrayHasKey('date_modification', $event['event_data']);
$this->assertArrayHasKey('date_moved', $event['event_data']);
$this->assertArrayHasKey('position', $event['event_data']);
$this->assertArrayHasKey('project_id', $event['event_data']['task']);
$this->assertArrayHasKey('id', $event['event_data']['task']);
$this->assertArrayHasKey('title', $event['event_data']['task']);
$this->assertArrayHasKey('column_id', $event['event_data']['task']);
$this->assertArrayHasKey('color_id', $event['event_data']['task']);
$this->assertArrayHasKey('swimlane_id', $event['event_data']['task']);
$this->assertArrayHasKey('date_creation', $event['event_data']['task']);
$this->assertArrayHasKey('date_modification', $event['event_data']['task']);
$this->assertArrayHasKey('date_moved', $event['event_data']['task']);
$this->assertArrayHasKey('position', $event['event_data']['task']);
}
public function testTaskModification()
@@ -51,7 +51,7 @@ class WebhookTest extends Base
$p = new Project($this->container);
$tc = new TaskCreation($this->container);
$tm = new TaskModification($this->container);
$this->container['dispatcher']->addSubscriber(new WebhookSubscriber($this->container));
$this->container['dispatcher']->addSubscriber(new NotificationSubscriber($this->container));
$c->save(array('webhook_url' => 'http://localhost/modif/'));
@@ -68,16 +68,16 @@ class WebhookTest extends Base
$this->assertEquals('task.update', $event['event_name']);
$this->assertNotEmpty($event['event_data']);
$this->assertArrayHasKey('project_id', $event['event_data']);
$this->assertArrayHasKey('task_id', $event['event_data']);
$this->assertArrayHasKey('title', $event['event_data']);
$this->assertArrayHasKey('column_id', $event['event_data']);
$this->assertArrayHasKey('color_id', $event['event_data']);
$this->assertArrayHasKey('swimlane_id', $event['event_data']);
$this->assertArrayHasKey('date_creation', $event['event_data']);
$this->assertArrayHasKey('date_modification', $event['event_data']);
$this->assertArrayHasKey('date_moved', $event['event_data']);
$this->assertArrayHasKey('position', $event['event_data']);
$this->assertArrayHasKey('project_id', $event['event_data']['task']);
$this->assertArrayHasKey('id', $event['event_data']['task']);
$this->assertArrayHasKey('title', $event['event_data']['task']);
$this->assertArrayHasKey('column_id', $event['event_data']['task']);
$this->assertArrayHasKey('color_id', $event['event_data']['task']);
$this->assertArrayHasKey('swimlane_id', $event['event_data']['task']);
$this->assertArrayHasKey('date_creation', $event['event_data']['task']);
$this->assertArrayHasKey('date_modification', $event['event_data']['task']);
$this->assertArrayHasKey('date_moved', $event['event_data']['task']);
$this->assertArrayHasKey('position', $event['event_data']['task']);
}
public function testCommentCreation()
@@ -86,7 +86,7 @@ class WebhookTest extends Base
$p = new Project($this->container);
$tc = new TaskCreation($this->container);
$cm = new Comment($this->container);
$this->container['dispatcher']->addSubscriber(new WebhookSubscriber($this->container));
$this->container['dispatcher']->addSubscriber(new NotificationSubscriber($this->container));
$c->save(array('webhook_url' => 'http://localhost/comment'));
@@ -103,10 +103,10 @@ class WebhookTest extends Base
$this->assertEquals('comment.create', $event['event_name']);
$this->assertNotEmpty($event['event_data']);
$this->assertArrayHasKey('task_id', $event['event_data']);
$this->assertArrayHasKey('user_id', $event['event_data']);
$this->assertArrayHasKey('comment', $event['event_data']);
$this->assertArrayHasKey('id', $event['event_data']);
$this->assertEquals('test comment', $event['event_data']['comment']);
$this->assertArrayHasKey('task_id', $event['event_data']['comment']);
$this->assertArrayHasKey('user_id', $event['event_data']['comment']);
$this->assertArrayHasKey('comment', $event['event_data']['comment']);
$this->assertArrayHasKey('id', $event['event_data']['comment']);
$this->assertEquals('test comment', $event['event_data']['comment']['comment']);
}
}