Use fixtures instead of IDs in the sheduled task subscriber test [MAILPOET-987]
This commit is contained in:
@ -1,28 +1,39 @@
|
|||||||
<?php
|
<?php
|
||||||
namespace MailPoet\Test\Models;
|
namespace MailPoet\Test\Models;
|
||||||
|
|
||||||
|
use Codeception\Util\Fixtures;
|
||||||
|
use MailPoet\Models\ScheduledTask;
|
||||||
use MailPoet\Models\ScheduledTaskSubscriber;
|
use MailPoet\Models\ScheduledTaskSubscriber;
|
||||||
|
use MailPoet\Models\Subscriber;
|
||||||
|
|
||||||
class ScheduledTaskSubscriberTest extends \MailPoetTest {
|
class ScheduledTaskSubscriberTest extends \MailPoetTest {
|
||||||
function _before() {
|
function _before() {
|
||||||
$this->task_id = 123;
|
$task = ScheduledTask::create();
|
||||||
$this->subscriber_id = 456;
|
$task->hydrate(array(
|
||||||
|
'status' => ScheduledTask::STATUS_SCHEDULED
|
||||||
|
));
|
||||||
|
$this->task = $task->save();
|
||||||
|
|
||||||
|
$subscriber = Subscriber::create();
|
||||||
|
$subscriber->hydrate(Fixtures::get('subscriber_template'));
|
||||||
|
$this->subscriber = $subscriber->save();
|
||||||
|
|
||||||
$this->task_subscriber = ScheduledTaskSubscriber::createOrUpdate(array(
|
$this->task_subscriber = ScheduledTaskSubscriber::createOrUpdate(array(
|
||||||
'task_id' => $this->task_id,
|
'task_id' => $this->task->id,
|
||||||
'subscriber_id' => $this->subscriber_id
|
'subscriber_id' => $this->subscriber->id
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
function testItCanBeCreated() {
|
function testItCanBeCreated() {
|
||||||
expect($this->task_subscriber->task_id)->equals($this->task_id);
|
expect($this->task_subscriber->task_id)->equals($this->task->id);
|
||||||
expect($this->task_subscriber->subscriber_id)->equals($this->subscriber_id);
|
expect($this->task_subscriber->subscriber_id)->equals($this->subscriber->id);
|
||||||
expect($this->task_subscriber->processed)->equals(ScheduledTaskSubscriber::STATUS_UNPROCESSED);
|
expect($this->task_subscriber->processed)->equals(ScheduledTaskSubscriber::STATUS_UNPROCESSED);
|
||||||
}
|
}
|
||||||
|
|
||||||
function testItCanBeUpdated() {
|
function testItCanBeUpdated() {
|
||||||
$task_subscriber = ScheduledTaskSubscriber::createOrUpdate(array(
|
$task_subscriber = ScheduledTaskSubscriber::createOrUpdate(array(
|
||||||
'task_id' => $this->task_id,
|
'task_id' => $this->task->id,
|
||||||
'subscriber_id' => $this->subscriber_id,
|
'subscriber_id' => $this->subscriber->id,
|
||||||
'processed' => ScheduledTaskSubscriber::STATUS_PROCESSED
|
'processed' => ScheduledTaskSubscriber::STATUS_PROCESSED
|
||||||
));
|
));
|
||||||
expect($task_subscriber->processed)->equals(ScheduledTaskSubscriber::STATUS_PROCESSED);
|
expect($task_subscriber->processed)->equals(ScheduledTaskSubscriber::STATUS_PROCESSED);
|
||||||
@ -30,9 +41,9 @@ class ScheduledTaskSubscriberTest extends \MailPoetTest {
|
|||||||
|
|
||||||
function testItCanAddMultipleSubscribers() {
|
function testItCanAddMultipleSubscribers() {
|
||||||
ScheduledTaskSubscriber::deleteMany();
|
ScheduledTaskSubscriber::deleteMany();
|
||||||
$subscriber_ids = array(321, 654, 987);
|
$subscriber_ids = array(321, 654, 987); // sorted random ids
|
||||||
ScheduledTaskSubscriber::addSubscribers($this->task_id, $subscriber_ids);
|
ScheduledTaskSubscriber::addSubscribers($this->task->id, $subscriber_ids);
|
||||||
$task_subscribers = ScheduledTaskSubscriber::where('task_id', $this->task_id)
|
$task_subscribers = ScheduledTaskSubscriber::where('task_id', $this->task->id)
|
||||||
->orderByAsc('subscriber_id')
|
->orderByAsc('subscriber_id')
|
||||||
->findMany();
|
->findMany();
|
||||||
expect(count($task_subscribers))->equals(count($subscriber_ids));
|
expect(count($task_subscribers))->equals(count($subscriber_ids));
|
||||||
@ -42,34 +53,36 @@ class ScheduledTaskSubscriberTest extends \MailPoetTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function testItCangetUnprocessedCount() {
|
function testItCangetUnprocessedCount() {
|
||||||
$count = ScheduledTaskSubscriber::getUnprocessedCount($this->task_id);
|
$count = ScheduledTaskSubscriber::getUnprocessedCount($this->task->id);
|
||||||
expect($count)->equals(1);
|
expect($count)->equals(1);
|
||||||
$this->task_subscriber->processed = ScheduledTaskSubscriber::STATUS_PROCESSED;
|
$this->task_subscriber->processed = ScheduledTaskSubscriber::STATUS_PROCESSED;
|
||||||
$this->task_subscriber->save();
|
$this->task_subscriber->save();
|
||||||
$count = ScheduledTaskSubscriber::getUnprocessedCount($this->task_id);
|
$count = ScheduledTaskSubscriber::getUnprocessedCount($this->task->id);
|
||||||
expect($count)->equals(0);
|
expect($count)->equals(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
function testItCanGetProcessedCount() {
|
function testItCanGetProcessedCount() {
|
||||||
$count = ScheduledTaskSubscriber::getProcessedCount($this->task_id);
|
$count = ScheduledTaskSubscriber::getProcessedCount($this->task->id);
|
||||||
expect($count)->equals(0);
|
expect($count)->equals(0);
|
||||||
$this->task_subscriber->processed = ScheduledTaskSubscriber::STATUS_PROCESSED;
|
$this->task_subscriber->processed = ScheduledTaskSubscriber::STATUS_PROCESSED;
|
||||||
$this->task_subscriber->save();
|
$this->task_subscriber->save();
|
||||||
$count = ScheduledTaskSubscriber::getProcessedCount($this->task_id);
|
$count = ScheduledTaskSubscriber::getProcessedCount($this->task->id);
|
||||||
expect($count)->equals(1);
|
expect($count)->equals(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
function testItCanGetTotalCount() {
|
function testItCanGetTotalCount() {
|
||||||
ScheduledTaskSubscriber::createOrUpdate(array(
|
ScheduledTaskSubscriber::createOrUpdate(array(
|
||||||
'task_id' => $this->task_id,
|
'task_id' => $this->task->id,
|
||||||
'subscriber_id' => 555,
|
'subscriber_id' => 555, // random new ID
|
||||||
'processed' => ScheduledTaskSubscriber::STATUS_PROCESSED
|
'processed' => ScheduledTaskSubscriber::STATUS_PROCESSED
|
||||||
));
|
));
|
||||||
$count = ScheduledTaskSubscriber::getTotalCount($this->task_id);
|
$count = ScheduledTaskSubscriber::getTotalCount($this->task->id);
|
||||||
expect($count)->equals(2);
|
expect($count)->equals(2);
|
||||||
}
|
}
|
||||||
|
|
||||||
function _after() {
|
function _after() {
|
||||||
|
\ORM::raw_execute('TRUNCATE ' . ScheduledTask::$_table);
|
||||||
\ORM::raw_execute('TRUNCATE ' . ScheduledTaskSubscriber::$_table);
|
\ORM::raw_execute('TRUNCATE ' . ScheduledTaskSubscriber::$_table);
|
||||||
|
\ORM::raw_execute('TRUNCATE ' . Subscriber::$_table);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user