public function testQueueEvent() { $event = new ViaQueueEventTestEvent(); $queue = Mockery::mock(Queue::class); $queue->shouldReceive('enqueue')->with(['method' => 'event:execute', 'event' => $event])->once(); $container = new Container(); $container[Queue::class] = $queue; $dispatcher = new Dispatcher($container); $dispatcher->on(ViaQueueEventTestEvent::class, QueueEventTestListener::class); $dispatcher->trigger($event); }
public function testTriggerByClass() { $container = new Container(); $container->instance(DispatcherTestListener::class, $listener = new DispatcherTestListener()); $dispatcher = new Dispatcher($container); $dispatcher->on(DispatcherTestEvent::class, DispatcherTestListener::class); // check init event & listener $event = new DispatcherTestEvent(); $this->assertEquals(0, $event->getCallCount()); $this->assertEquals(0, $listener->getLastCallCount()); $dispatcher->trigger($event); $this->assertEquals(1, $event->getCallCount()); $this->assertEquals(1, $listener->getLastCallCount()); $dispatcher->trigger($event); $dispatcher->trigger($event); $dispatcher->trigger($event); $this->assertEquals(4, $event->getCallCount()); $this->assertEquals(4, $listener->getLastCallCount()); }