Closed
Description
What are you trying to achieve?
Currently I'm bootstraping the following code in my api modules:
Yii::$app->response->on(Response::EVENT_BEFORE_SEND, function ($event) {
if (Yii::$app->request->url == '/rest' || Yii::$app->request->url == '/rest/') {
return;
}
/** @var Response $response */
$response = $event->sender;
$response->format = Response::FORMAT_JSON;
if ($response->statusCode < 400) {
$response->data = [
'success' => true,
'status' => $response->statusCode,
'data' => $response->data,
];
} else {
ArrayHelper::remove($response->data, 'status');
ArrayHelper::remove($response->data, 'type');
$response->data = [
'success' => false,
'status' => $response->statusCode,
'data' => $response->data,
];
}
});
The following test does not work anymore:
$I->seeResponseCodeIs(200);
$I->seeResponseIsJson();
$I->seeResponseContainsJson(['success' => true]);
What do you get instead?
Response object looses it's event listeners.
- Codeception version: 2.4.1
- PHP Version: 7.1
- Operating System: Linux
- Installation type: Composer
Metadata
Metadata
Assignees
Labels
No labels