diff --git a/src/Controllers/AbstractController.php b/src/Controllers/AbstractController.php index ad414e2eb9..4533899293 100644 --- a/src/Controllers/AbstractController.php +++ b/src/Controllers/AbstractController.php @@ -71,20 +71,4 @@ abstract class AbstractController implements InvocableController return ! $foundError; } - - /** @psalm-param StatusCodeInterface::STATUS_* $statusCode */ - protected function sendErrorResponse(string $message, int $statusCode = 400): void - { - $this->response->setStatusCode($statusCode); - $this->response->setRequestStatus(false); - - if ($this->response->isAjax()) { - $this->response->addJSON('isErrorResponse', true); - $this->response->addJSON('message', $message); - - return; - } - - $this->response->addHTML(Message::error($message)->getDisplay()); - } } diff --git a/src/Controllers/Table/DropColumnConfirmationController.php b/src/Controllers/Table/DropColumnConfirmationController.php index f513525d14..bc8afc5acc 100644 --- a/src/Controllers/Table/DropColumnConfirmationController.php +++ b/src/Controllers/Table/DropColumnConfirmationController.php @@ -4,6 +4,7 @@ declare(strict_types=1); namespace PhpMyAdmin\Controllers\Table; +use Fig\Http\Message\StatusCodeInterface; use PhpMyAdmin\Controllers\AbstractController; use PhpMyAdmin\DbTableExists; use PhpMyAdmin\Http\Response; @@ -80,4 +81,19 @@ final class DropColumnConfirmationController extends AbstractController return null; } + + private function sendErrorResponse(string $message): void + { + $this->response->setStatusCode(StatusCodeInterface::STATUS_BAD_REQUEST); + $this->response->setRequestStatus(false); + + if ($this->response->isAjax()) { + $this->response->addJSON('isErrorResponse', true); + $this->response->addJSON('message', $message); + + return; + } + + $this->response->addHTML(Message::error($message)->getDisplay()); + } } diff --git a/tests/unit/Controllers/AbstractControllerTest.php b/tests/unit/Controllers/AbstractControllerTest.php index 0c90435e81..3a3c68d570 100644 --- a/tests/unit/Controllers/AbstractControllerTest.php +++ b/tests/unit/Controllers/AbstractControllerTest.php @@ -4,7 +4,6 @@ declare(strict_types=1); namespace PhpMyAdmin\Tests\Controllers; -use Fig\Http\Message\StatusCodeInterface; use PhpMyAdmin\Controllers\AbstractController; use PhpMyAdmin\DatabaseInterface; use PhpMyAdmin\Html\MySQLDocumentation; @@ -86,59 +85,4 @@ class AbstractControllerTest extends AbstractTestCase self::assertTrue($controller->testCheckParameters(['param1', 'param2'])); self::assertSame(200, $response->getResponse()->getStatusCode()); } - - public function testSendErrorResponseWithJson(): void - { - $response = new ResponseRenderer(); - $response->setAjax(true); - - $controller = new class ($response, new Template()) extends AbstractController { - public function __invoke(ServerRequest $request): Response|null - { - return null; - } - - /** @psalm-param StatusCodeInterface::STATUS_* $statusCode */ - public function testSendErrorResponse(string $message, int $statusCode = 400): void - { - $this->sendErrorResponse($message, $statusCode); - } - }; - - $controller->testSendErrorResponse('Error message.', 404); - - self::assertSame(404, $response->getResponse()->getStatusCode()); - self::assertFalse($response->hasSuccessState()); - self::assertSame('', $response->getHTMLResult()); - self::assertSame(['isErrorResponse' => true, 'message' => 'Error message.'], $response->getJSONResult()); - } - - public function testSendErrorResponseWithHtml(): void - { - $response = new ResponseRenderer(); - $response->setAjax(false); - - $controller = new class ($response, new Template()) extends AbstractController { - public function __invoke(ServerRequest $request): Response|null - { - return null; - } - - /** @psalm-param StatusCodeInterface::STATUS_* $statusCode */ - public function testSendErrorResponse(string $message, int $statusCode = 400): void - { - $this->sendErrorResponse($message, $statusCode); - } - }; - - $controller->testSendErrorResponse('Error message.', 404); - - self::assertSame(404, $response->getResponse()->getStatusCode()); - self::assertFalse($response->hasSuccessState()); - self::assertSame( - Message::error('Error message.')->getDisplay(), - $response->getHTMLResult(), - ); - self::assertSame([], $response->getJSONResult()); - } }