Refactor help endpoint

[MAILPOET-5755]
This commit is contained in:
 Ján Mikláš
2024-06-21 13:59:06 +02:00
committed by Ján Mikláš
parent 5253d79e81
commit 4af5720741
2 changed files with 41 additions and 37 deletions

View File

@@ -2,6 +2,7 @@
namespace MailPoet\Test\API\JSON\v1;
use MailPoet\API\JSON\ErrorResponse;
use MailPoet\API\JSON\Response as APIResponse;
use MailPoet\API\JSON\v1\Help;
use MailPoet\Entities\ScheduledTaskEntity;
@@ -10,11 +11,8 @@ use MailPoet\Test\DataFactories\ScheduledTask as ScheduledTaskFactory;
class HelpTest extends \MailPoetTest {
/** @var Help */
private $endpoint;
/** @var ScheduledTasksRepository */
private $scheduledTasksRepository;
private Help $endpoint;
private ScheduledTasksRepository $scheduledTasksRepository;
public function _before() {
parent::_before();
@@ -23,31 +21,36 @@ class HelpTest extends \MailPoetTest {
}
public function testItReturnsErrorWhenIdIsMissing() {
/** @var ErrorResponse $response */
$response = $this->endpoint->cancelTask([]);
verify($response)->instanceOf('\MailPoet\API\JSON\ErrorResponse');
verify($response->status)->equals(400);
verify($response->errors[0]['message'])->equals('Missing mandatory argument `id`.');
verify($response->errors[0]['message'])->equals('Invalid or missing parameter `id`.');
/** @var ErrorResponse $response */
$response = $this->endpoint->rescheduleTask([]);
verify($response)->instanceOf('\MailPoet\API\JSON\ErrorResponse');
verify($response->status)->equals(400);
verify($response->errors[0]['message'])->equals('Missing mandatory argument `id`.');
verify($response->errors[0]['message'])->equals('Invalid or missing parameter `id`.');
}
public function testItReturnsErrorWhenTaskDoesntExist() {
/** @var ErrorResponse $response */
$response = $this->endpoint->cancelTask(['id' => 99999]);
verify($response)->instanceOf('\MailPoet\API\JSON\ErrorResponse');
verify($response->status)->equals(400);
verify($response->status)->equals(404);
verify($response->errors[0]['message'])->equals('Task not found.');
/** @var ErrorResponse $response */
$response = $this->endpoint->rescheduleTask(['id' => 99999]);
verify($response)->instanceOf('\MailPoet\API\JSON\ErrorResponse');
verify($response->status)->equals(400);
verify($response->status)->equals(404);
verify($response->errors[0]['message'])->equals('Task not found.');
}
public function testItReturnsErrorWhenCancellingCompletedTask() {
$task = (new ScheduledTaskFactory())->create('sending', ScheduledTaskEntity::STATUS_COMPLETED, new \DateTime());
/** @var ErrorResponse $response */
$response = $this->endpoint->cancelTask(['id' => $task->getId()]);
verify($response)->instanceOf('\MailPoet\API\JSON\ErrorResponse');
verify($response->status)->equals(400);
@@ -56,6 +59,7 @@ class HelpTest extends \MailPoetTest {
public function testItReturnsErrorWhenReschedulingCompletedTask() {
$task = (new ScheduledTaskFactory())->create('sending', ScheduledTaskEntity::STATUS_COMPLETED, new \DateTime());
/** @var ErrorResponse $response */
$response = $this->endpoint->rescheduleTask(['id' => $task->getId()]);
verify($response)->instanceOf('\MailPoet\API\JSON\ErrorResponse');
verify($response->status)->equals(400);