Elgg\ActionsServiceTest::testCanFilterResponseBuilder PHP Метод

testCanFilterResponseBuilder() публичный Метод

    public function testCanFilterResponseBuilder()
    {
        $this->hooks->registerHandler('response', 'action:output4', function ($hook, $type, $response, $params) {
            $this->assertEquals('response', $hook);
            $this->assertEquals('action:output4', $type);
            $this->assertEquals($response, $params);
            $this->assertInstanceOf(OkResponse::class, $response);
            $response->setContent('good bye');
            $response->setStatusCode(ELGG_HTTP_BAD_REQUEST);
            return $response;
        });
        $this->assertTrue($this->actions->register('output4', "{$this->actionsDir}/output4.php", 'public'));
        $this->request = $this->prepareHttpRequest('action/output4', 'POST', [], 2, true);
        $this->createService();
        set_input('output', ['foo', 'bar']);
        set_input('system_message', 'success');
        set_input('forward_reason', ELGG_HTTP_OK);
        set_input('forward_url', 'index');
        $this->route();
        $response = _elgg_services()->responseFactory->getSentResponse();
        $this->assertInstanceOf(Response::class, $response);
        $this->assertEquals(ELGG_HTTP_BAD_REQUEST, $response->getStatusCode());
        $this->assertContains('application/json', $response->headers->get('Content-Type'));
        //$this->assertContains('charset=utf-8', strtolower($response->headers->get('Content-Type')));
        $output = json_encode(['error' => 'good bye']);
        $this->assertEquals($output, $response->getContent());
    }
ActionsServiceTest