Ejemplo n.º 1
0
 public function testAddObserver()
 {
     $testEvent = 'testEvent';
     $observer = new \Magento\Framework\Event\Observer();
     $observer->setData('event_name', $testEvent);
     $eventName = 'eventName';
     $eventMock = $this->getMock('\\Magento\\Framework\\Event', ['getName'], [], '', false, false);
     $eventMock->setData('name', $eventName);
     $this->collection->addObserver($observer);
     $this->assertNotEmpty($this->collection->getEventByName($testEvent)->getObservers());
 }
 public function dispatch($eventName, array $data = [])
 {
     \Magento\Framework\Profiler::start('EVENT:' . $eventName, ['group' => 'EVENT', 'name' => $eventName]);
     foreach ($this->_eventConfig->getObservers($eventName) as $observerConfig) {
         $event = new \Magento\Framework\Event($data);
         $event->setName($eventName);
         $wrapper = new \Magento\Framework\Event\Observer();
         $wrapper->setData(array_merge(['event' => $event], $data));
         \Magento\Framework\Profiler::start('OBSERVER:' . $observerConfig['name']);
         $this->_invoker->dispatch($observerConfig, $wrapper);
         $this->_devHelper->setObserverDetails($observerConfig, $eventName);
         \Magento\Framework\Profiler::stop('OBSERVER:' . $observerConfig['name']);
     }
     \Magento\Framework\Profiler::stop('EVENT:' . $eventName);
 }