Move SendingQueueEntity::toArray() to SendingQueuesResponseBuilder::build()
Based on a suggestion during the review of the PR, it was decided that it makes more sense for the code that was created as SendingQueueEntity::toArray() tp be moved to SendingQueuesResponseBuilder::build(). It is used only to build the format that is send in the API response. [MAILPOET-4368]
This commit is contained in:
committed by
Aschepikov
parent
69736c5e83
commit
d4a80c7230
@@ -0,0 +1,66 @@
|
||||
<?php declare(strict_types = 1);
|
||||
|
||||
namespace integration\API\JSON\ResponseBuilders;
|
||||
|
||||
use MailPoet\API\JSON\ResponseBuilders\SendingQueuesResponseBuilder;
|
||||
use MailPoet\Entities\NewsletterEntity;
|
||||
use MailPoet\Entities\ScheduledTaskEntity;
|
||||
use MailPoet\Entities\SendingQueueEntity;
|
||||
use MailPoet\Tasks\Sending;
|
||||
use MailPoet\Test\DataFactories\Newsletter as NewsletterFactory;
|
||||
use MailPoet\Test\DataFactories\ScheduledTask as ScheduledTaskFactory;
|
||||
use MailPoet\Test\DataFactories\SendingQueue as SendingQueueFactory;
|
||||
use MailPoetVendor\Carbon\Carbon;
|
||||
|
||||
class SendingQueuesResponseBuilderTest extends \MailPoetTest {
|
||||
/** @var NewsletterEntity */
|
||||
private $newsletter;
|
||||
|
||||
/** @var ScheduledTaskEntity */
|
||||
private $scheduledTask;
|
||||
|
||||
/** @var SendingQueueEntity */
|
||||
private $sendingQueue;
|
||||
|
||||
/** @var SendingQueuesResponseBuilder */
|
||||
private $sendingQueuesResponseBuilder;
|
||||
|
||||
public function _before() {
|
||||
$newsletterFactory = new NewsletterFactory();
|
||||
$sendingQueueFactory = new SendingQueueFactory();
|
||||
$scheduledTaskFactory = new ScheduledTaskFactory();
|
||||
|
||||
$this->sendingQueuesResponseBuilder = $this->diContainer->get(SendingQueuesResponseBuilder::class);
|
||||
$scheduledAt = new Carbon('2018-10-10 10:00:00');
|
||||
$this->newsletter = $newsletterFactory->create();
|
||||
$this->scheduledTask = $scheduledTaskFactory->create(Sending::TASK_TYPE, ScheduledTaskEntity::STATUS_SCHEDULED, $scheduledAt);
|
||||
$this->sendingQueue = $sendingQueueFactory->create($this->scheduledTask, $this->newsletter);
|
||||
$this->assertInstanceOf(SendingQueueEntity::class, $this->sendingQueue);
|
||||
}
|
||||
|
||||
public function testBuildReturnsExpectedResult() {
|
||||
$expectedResult = [
|
||||
'id' => $this->sendingQueue->getId(),
|
||||
'type' => 'sending',
|
||||
'status' => 'scheduled',
|
||||
'priority' => 0,
|
||||
'scheduled_at' => '2018-10-10 10:00:00',
|
||||
'processed_at' => null,
|
||||
'created_at' => !is_null($this->sendingQueue->getCreatedAt()) ? $this->sendingQueue->getCreatedAt()->format('Y-m-d H:i:s') : null,
|
||||
'updated_at' => $this->sendingQueue->getUpdatedAt()->format('Y-m-d H:i:s'),
|
||||
'deleted_at' => null,
|
||||
'in_progress' => null,
|
||||
'reschedule_count' => 0,
|
||||
'meta' => null,
|
||||
'task_id' => $this->scheduledTask->getId(),
|
||||
'newsletter_id' => $this->newsletter->getId(),
|
||||
'newsletter_rendered_body' => null,
|
||||
'newsletter_rendered_subject' => null,
|
||||
'count_total' => 0,
|
||||
'count_processed' => 0,
|
||||
'count_to_process' => 0,
|
||||
];
|
||||
|
||||
$this->assertSame($expectedResult, $this->sendingQueuesResponseBuilder->build($this->sendingQueue));
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user