public function execute(array $parameters) { if ($this->execute) { $result = call_user_func($this->execute, $parameters); } else { $result = $this->action->execute($parameters); } if ($this->afterExecute) { $result = call_user_func($this->afterExecute, $result); } return $result; }
private function givenANonModifyingAction($actionId) { $this->action = Mockster::of(Action::class); $this->app->actions->add($actionId, Mockster::mock($this->action)); Mockster::stub($this->action->execute(Arg::any()))->will()->return_('Value of ' . $actionId); Mockster::stub($this->action->isModifying())->will()->return_(false); Mockster::stub($this->action->caption())->will()->return_('My Foo'); Mockster::stub($this->action->parameters())->will()->return_([new Parameter('one', new StringType())]); }
private function whenIExecuteThatActionWith($parameters) { $this->action->__call('executeWith', [Argument::any()])->will()->forwardTo(function ($object) { $this->instance = $object; }); $this->uut->execute($parameters); }