/** * @test */ public function beforeExecuteResponderMiddlewareWillBeCalledBeforeResponderExecutorMiddleware() { $expectedOrder = ['beforeExecuteResponder', 'executeResponder']; $order = []; $this->actionResolverMiddleware->expects($this->any())->method('__invoke')->will($this->returnCallback($this->createTestMiddleware())); $this->actionExecutorMiddleware->expects($this->any())->method('__invoke')->will($this->returnCallback($this->createTestMiddleware())); $this->responderResolverMiddleware->expects($this->any())->method('__invoke')->will($this->returnCallback($this->createTestMiddleware())); $beforeExecuteResponderMiddleware = $this->createTestMiddleware(function () use(&$order) { $order[] = 'beforeExecuteResponder'; }); $responderExecutorMiddlewareStub = $this->createTestMiddleware(function () use(&$order) { $order[] = 'executeResponder'; }); $this->responderExecutorMiddleware->expects($this->any())->method('__invoke')->will($this->returnCallback($responderExecutorMiddlewareStub)); $middleware = $this->getMockedAdroitMiddleware(); $middleware->beforeExecuteResponder($beforeExecuteResponderMiddleware); $middleware->__invoke($this->request, $this->response); $this->assertEquals($order, $expectedOrder); }
/** * @test * @expectedException \bitExpert\Adroit\Action\Executor\ActionExecutionException */ public function throwsExceptionIfActionIsNotCallable() { $action = 'notCallable'; $request = $this->request->withAttribute(self::$actionAttribute, $action); $this->middleware->__invoke($request, $this->response); }