Beispiel #1
0
 function let(EventSubscriber $someEventOccuredSubcriber, EventSubscriber $otherEventOccuredSubcriber)
 {
     $eventSubcribers = new EventBus\EventSubscribers();
     $eventSubcribers->registerSubscriber('SomeEventOccured', $someEventOccuredSubcriber->getWrappedObject());
     $eventSubcribers->registerSubscriber('OtherEventOccured', $otherEventOccuredSubcriber->getWrappedObject());
     $this->beConstructedWith($eventSubcribers);
 }
 function it_allows_to_reload_all_registered_projections(Projection $projection1, Projection $projection2, EventSubscribers $subscribers, Event $event, Event $secondEvent)
 {
     $subscribers->registerSubscriber(Argument::cetera())->willReturn();
     $this->registerProjection('EventNameOccurred', $projection1);
     $this->registerProjection('EventNameOccurred', $projection2);
     $event->getName()->willReturn('EventNameOccurred');
     $secondEvent->getName()->willReturn('OtherEventOccurred');
     $this->clear();
     $this->notify(new EventStream(new EventStream\Name('test'), [$event->getWrappedObject(), $secondEvent->getWrappedObject()]));
     $projection1->clear()->shouldHaveBeenCalled();
     $projection2->clear()->shouldHaveBeenCalled();
     $projection1->notify($event)->shouldHaveBeenCalled();
     $projection2->notify($event)->shouldHaveBeenCalled();
 }
Beispiel #3
0
 public function notify(EventStream $eventStream)
 {
     foreach ($eventStream as $event) {
         $this->subscribers->notify($event);
     }
 }