Refactor \MailPoet\Models\Newsletter::getArchives() to Doctrine
[MAILPOET-3629]
This commit is contained in:
@@ -204,93 +204,6 @@ class NewsletterTest extends \MailPoetTest {
|
||||
expect($newsletter->event)->equals($association->value);
|
||||
}
|
||||
|
||||
public function testItGetsArchiveNewslettersForSegments() {
|
||||
// clear the DB
|
||||
$this->_after();
|
||||
|
||||
$types = [
|
||||
Newsletter::TYPE_STANDARD,
|
||||
Newsletter::TYPE_NOTIFICATION_HISTORY,
|
||||
];
|
||||
$newsletters = [];
|
||||
$sendingQueues[] = [];
|
||||
for ($i = 0; $i < count($types); $i++) {
|
||||
$newsletters[$i] = Newsletter::createOrUpdate(
|
||||
[
|
||||
'subject' => 'My Standard Newsletter',
|
||||
'preheader' => 'Pre Header',
|
||||
'type' => $types[$i],
|
||||
]
|
||||
);
|
||||
$sendingQueues[$i] = SendingTask::create();
|
||||
$sendingQueues[$i]->newsletter_id = $newsletters[$i]->id;
|
||||
$sendingQueues[$i]->status = SendingQueue::STATUS_COMPLETED;
|
||||
$sendingQueues[$i]->save();
|
||||
}
|
||||
// set segment association for the last newsletter
|
||||
$newsletterSegment = NewsletterSegment::create();
|
||||
$newsletterSegment->newsletterId = end($newsletters[1])->id;
|
||||
$newsletterSegment->segmentId = 123;
|
||||
$newsletterSegment->save();
|
||||
|
||||
expect(Newsletter::findMany())->count(2);
|
||||
|
||||
// return archives in segment 123
|
||||
$results = Newsletter::getArchives([123]);
|
||||
expect($results)->count(1);
|
||||
expect($results[0]->id)->equals($newsletters[1]->id);
|
||||
expect($results[0]->type)->equals(Newsletter::TYPE_NOTIFICATION_HISTORY);
|
||||
}
|
||||
|
||||
public function testItGetsAllArchiveNewsletters() {
|
||||
// clear the DB
|
||||
$this->_after();
|
||||
|
||||
$types = [
|
||||
Newsletter::TYPE_STANDARD,
|
||||
Newsletter::TYPE_STANDARD, // should be returned
|
||||
Newsletter::TYPE_WELCOME,
|
||||
Newsletter::TYPE_AUTOMATIC,
|
||||
Newsletter::TYPE_NOTIFICATION,
|
||||
Newsletter::TYPE_NOTIFICATION_HISTORY, // should be returned
|
||||
Newsletter::TYPE_NOTIFICATION_HISTORY,
|
||||
];
|
||||
$newsletters = [];
|
||||
$sendingQueues[] = [];
|
||||
for ($i = 0; $i < count($types); $i++) {
|
||||
$newsletters[$i] = Newsletter::createOrUpdate(
|
||||
[
|
||||
'subject' => 'My Standard Newsletter',
|
||||
'preheader' => 'Pre Header',
|
||||
'type' => $types[$i],
|
||||
]
|
||||
);
|
||||
$sendingQueues[$i] = SendingTask::create();
|
||||
$sendingQueues[$i]->newsletter_id = $newsletters[$i]->id;
|
||||
$sendingQueues[$i]->status = SendingQueue::STATUS_COMPLETED;
|
||||
$sendingQueues[$i]->save();
|
||||
}
|
||||
// set the sending queue status of the first newsletter to null
|
||||
$sendingQueues[0]->status = null;
|
||||
$sendingQueues[0]->save();
|
||||
|
||||
// trash the last newsletter
|
||||
end($newsletters)->trash();
|
||||
|
||||
expect(Newsletter::findMany())->count(7);
|
||||
|
||||
// archives return only:
|
||||
// 1. STANDARD and NOTIFICATION HISTORY newsletters
|
||||
// 2. active newsletters (i.e., not trashed)
|
||||
// 3. with sending queue records that are COMPLETED
|
||||
$results = Newsletter::getArchives();
|
||||
expect($results)->count(2);
|
||||
expect($results[0]->id)->equals($newsletters[1]->id);
|
||||
expect($results[0]->type)->equals(Newsletter::TYPE_STANDARD);
|
||||
expect($results[1]->id)->equals($newsletters[5]->id);
|
||||
expect($results[1]->type)->equals(Newsletter::TYPE_NOTIFICATION_HISTORY);
|
||||
}
|
||||
|
||||
public function testItGeneratesHashOnNewsletterSave() {
|
||||
expect(strlen($this->newsletter->hash))
|
||||
->equals(Security::HASH_LENGTH);
|
||||
|
Reference in New Issue
Block a user