/** * @param $id * @return ExecutionResult */ public function execute($id) { try { $action = $this->actions->getAction($id); list($params, $missing) = $this->readParameters($action); if (!empty($missing)) { return new MissingParametersResult($missing); } if ($this->access && !$this->access->isExecutionPermitted($id, $params)) { return new NotPermittedResult(); } $returned = $action->execute($params); if (is_null($returned)) { return new NoResult(); } else { if ($returned instanceof ExecutionResult) { return $returned; } else { return new RenderedResult($this->render($returned)); } } } catch (\Exception $e) { return new FailedResult($e); } }
private function given_MayBeExecutedWith($actionId, $parameters) { Mockster::stub($this->access->isExecutionPermitted($actionId, $parameters))->will()->return_(true); }
/** * @param string $actionId * @param mixed[] $parameters indexed by parameter names * @return boolean */ public function isExecutionPermitted($actionId, array $parameters) { return $this->access->isExecutionPermitted($actionId, $parameters); }