You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1.3 KiB
PHTML
42 lines
1.3 KiB
PHTML
4 years ago
|
<?php
|
||
|
|
||
|
namespace Engelsystem\Test\Unit\Events;
|
||
|
|
||
|
use Engelsystem\Config\Config;
|
||
|
use Engelsystem\Events\EventDispatcher;
|
||
|
use Engelsystem\Events\EventsServiceProvider;
|
||
|
use Engelsystem\Test\Unit\ServiceProviderTest;
|
||
|
|
||
|
class EventsServiceProviderTest extends ServiceProviderTest
|
||
|
{
|
||
|
/**
|
||
|
* @covers \Engelsystem\Events\EventsServiceProvider::register
|
||
|
* @covers \Engelsystem\Events\EventsServiceProvider::registerEvents
|
||
|
*/
|
||
|
public function testRegister()
|
||
|
{
|
||
|
$dispatcher = $this->createMock(EventDispatcher::class);
|
||
|
$this->app->instance(EventDispatcher::class, $dispatcher);
|
||
|
$dispatcher->expects($this->exactly(3))
|
||
|
->method('listen')
|
||
|
->withConsecutive(
|
||
|
['test.event', 'someFunction'],
|
||
|
['another.event', 'Foo\Bar@baz'],
|
||
|
['another.event', [$this, 'someMethod']]
|
||
|
);
|
||
|
|
||
|
$config = new Config([
|
||
|
'event-handlers' => [
|
||
|
'test.event' => 'someFunction',
|
||
|
'another.event' => ['Foo\Bar@baz', [$this, 'someMethod']]
|
||
|
]
|
||
|
]);
|
||
|
$this->app->instance('config', $config);
|
||
|
|
||
|
/** @var EventsServiceProvider $provider */
|
||
|
$provider = $this->app->make(EventsServiceProvider::class);
|
||
|
|
||
|
$provider->register();
|
||
|
}
|
||
|
}
|