function it_calls_the_operation_runner_if_found(RunnerRepository $runnerRepository, \ReflectionMethod $method, MethodInvocation $invocation, OperationRunner $operationRunner)
 {
     $invocation->reflection = $method;
     $runnerRepository->getRunnerByMethod($method)->willReturn($operationRunner);
     $operationRunner->run(Argument::any())->shouldBeCalled();
     $this->intercept($invocation);
 }
 /**
  * {@inheritdoc}
  */
 public function intercept(MethodInvocation $invocation)
 {
     $operation = new Callback(function () use($invocation) {
         return $invocation->proceed();
     });
     if (null === ($runner = $this->runnerRepository->getRunnerByMethod($invocation->reflection))) {
         return $operation->call();
     }
     return $runner->run($operation);
 }
Exemple #3
0
 /**
  * {@inheritdoc}
  */
 public function matchesMethod(\ReflectionMethod $method)
 {
     return $this->runnerRepository->getRunnerByMethod($method) !== null;
 }
 function it_do_not_matches_the_methods_that_do_not_have_a_runner(RunnerRepository $runnerRepository, \ReflectionMethod $method)
 {
     $runnerRepository->getRunnerByMethod($method)->willReturn(null);
     $this->matchesMethod($method)->shouldBe(false);
 }