/** * @group 7 */ public function testDispatchEvent() { $queryParams = new Parameters(['foo' => 'bar']); $event = new ResourceEvent(); $event->setName('fetchAll'); $event->setQueryParams($queryParams); // $event->setParam('user_id', 1); $event->setRouteMatch(new RouteMatch(['user_id' => 1])); $result = $this->listener->dispatch($event); $this->assertInstanceOf(ResultSet::class, $result); }
public function patch($id, $data) { return parent::patch($id, $data); // TODO: Change the autogenerated stub }
/** * @inheritdoc */ public function dispatch(ResourceEvent $event) { $this->event = $event; switch ($event->getName()) { case 'fetchAll': // Always transform paging related params and decode JSON encoded params $event->setQueryParams(new Parameters($this->getQueryParams($event, true, true))); break; default: // Do nothing break; } if ($this->hasRequestCommandMapping($event->getName())) { $this->command = $this->createCommand($event); } /** @todo Use eventing... */ $result = $this->onBeforeDispatch($event, $this->command); // No need to continue if we already encountered a problem... if ($result instanceof ApiProblem) { return $result; } switch ($event->getName()) { case 'patchMultiple': $ids = $event->getParam('ids', array()); $data = $event->getParam('data', array()); return $this->patchMultiple($ids, $data); default: // Do nothing break; } return parent::dispatch($event); }