|
<?php |
|
|
|
use Kanboard\Core\ExternalTask\ExternalTaskManager; |
|
|
|
require_once __DIR__.'/../../Base.php'; |
|
|
|
class ExternalTaskManagerTest extends Base |
|
{ |
|
public function testProviderNotFound() |
|
{ |
|
$this->expectException('Kanboard\Core\ExternalTask\ProviderNotFoundException'); |
|
|
|
$manager = new ExternalTaskManager(); |
|
$manager->getProvider('foobar'); |
|
} |
|
|
|
public function testRegister() |
|
{ |
|
$provider = $this->getMockBuilder('Kanboard\Core\ExternalTask\ExternalTaskProviderInterface')->getMock(); |
|
$provider->expects($this->any())->method('getName')->willReturn('MyProvider'); |
|
|
|
$manager = new ExternalTaskManager(); |
|
$manager->register($provider); |
|
|
|
$this->assertInstanceOf('Kanboard\Core\ExternalTask\ExternalTaskProviderInterface', $manager->getProvider('MyProvider')); |
|
} |
|
|
|
public function testGetList() |
|
{ |
|
$provider1 = $this->getMockBuilder('Kanboard\Core\ExternalTask\ExternalTaskProviderInterface')->getMock(); |
|
$provider1->expects($this->any())->method('getName')->willReturn('MyProvider1'); |
|
|
|
$provider2 = $this->getMockBuilder('Kanboard\Core\ExternalTask\ExternalTaskProviderInterface')->getMock(); |
|
$provider2->expects($this->any())->method('getName')->willReturn('MyProvider2'); |
|
|
|
$manager = new ExternalTaskManager(); |
|
$manager->register($provider1); |
|
$manager->register($provider2); |
|
$providers = $manager->getProvidersList(); |
|
|
|
$expected = array('MyProvider1' => 'MyProvider1', 'MyProvider2' => 'MyProvider2'); |
|
$this->assertEquals($expected, $providers); |
|
} |
|
|
|
public function testGetProviderListWithNoProviders() |
|
{ |
|
$manager = new ExternalTaskManager(); |
|
$this->assertSame(array(), $manager->getProvidersList()); |
|
} |
|
} |
|
|