/** * @test */ public function eventIsDispatched() { $testEvent = $this->getMock(EventInterface::class); $testEvent->expects(static::once())->method('getEventName')->willReturn('event.name'); $testSubscriber = $this->getMockBuilder(EventSubscriberInterface::class)->setMethods(['onEventName', 'getSubscribedEvents', 'getNotifications'])->getMock(); $testSubscriber->expects(static::once())->method('getSubscribedEvents')->willReturn(['event.name' => 'onEventName']); $testSubscriber->expects(static::once())->method('onEventName')->with(static::equalTo($testEvent)); $eventBus = new SimpleEventBus(); /** @var EventSubscriberInterface $testSubscriber */ $eventBus->register($testSubscriber); /** @var EventInterface $testEvent */ $eventBus->post($testEvent); }