ZendTest\Stratigility\Middleware\OriginalMessagesTest::testNextReceivesRequestWithNewAttributes PHP Method

testNextReceivesRequestWithNewAttributes() public method

    public function testNextReceivesRequestWithNewAttributes()
    {
        $middleware = new OriginalMessages();
        $expected = $this->prophesize(ResponseInterface::class)->reveal();
        $next = function ($request, $response) use($expected) {
            return $expected;
        };
        $this->request->getUri()->will([$this->uri, 'reveal']);
        $this->request->withAttribute('originalUri', Argument::that(function ($arg) {
            $this->assertSame($this->uri->reveal(), $arg);
            return $arg;
        }))->will([$this->request, 'reveal']);
        $this->request->withAttribute('originalRequest', Argument::that(function ($arg) {
            $this->assertSame($this->request->reveal(), $arg);
            return $arg;
        }))->will([$this->request, 'reveal']);
        $this->request->withAttribute('originalResponse', Argument::that(function ($arg) {
            $this->assertSame($this->response->reveal(), $arg);
            return $arg;
        }))->will([$this->request, 'reveal']);
        $response = $middleware($this->request->reveal(), $this->response->reveal(), $next);
        $this->assertSame($expected, $response);
    }