Remove bulk methods from legacy newsletter model
[MAILPOET-2898]
This commit is contained in:
committed by
Veljko V
parent
8a78322854
commit
babb27dd72
@@ -487,177 +487,6 @@ class NewsletterTest extends \MailPoetTest {
|
||||
expect(SendingQueue::whereNull('deleted_at')->findArray())->count(6);
|
||||
}
|
||||
|
||||
public function testItTrashesAllQueueAssociationsWhenNewslettersAreBulkTrashed() {
|
||||
// create multiple newsletters and sending queues
|
||||
for ($i = 1; $i <= 5; $i++) {
|
||||
$newsletter = Newsletter::createOrUpdate(
|
||||
[
|
||||
'subject' => 'test',
|
||||
'type' => Newsletter::TYPE_STANDARD,
|
||||
]
|
||||
);
|
||||
$sendingQueue = SendingTask::create();
|
||||
$sendingQueue->newsletterId = $newsletter->id;
|
||||
$sendingQueue->save();
|
||||
}
|
||||
// 5 queues/newsletters + 1 of each created in _before() method
|
||||
expect(Newsletter::whereNull('deleted_at')->findArray())->count(6);
|
||||
expect(SendingQueue::whereNull('deleted_at')->findArray())->count(6);
|
||||
|
||||
// bulk trash newsletters and check that relations are trashed
|
||||
Newsletter::bulkTrash(ORM::forTable(Newsletter::$_table));
|
||||
expect(Newsletter::whereNotNull('deleted_at')->findArray())->count(6);
|
||||
expect(SendingQueue::whereNotNull('deleted_at')->findArray())->count(6);
|
||||
}
|
||||
|
||||
public function testItTrashesAllChildrenQueueAssociationsWhenParentNewslettersAreBulkTrashed() {
|
||||
// create multiple children (post notification history) newsletters and sending queues
|
||||
for ($i = 1; $i <= 5; $i++) {
|
||||
$newsletter = Newsletter::createOrUpdate(
|
||||
[
|
||||
'subject' => 'test',
|
||||
'type' => Newsletter::TYPE_NOTIFICATION_HISTORY,
|
||||
'parent_id' => $this->newsletter->id,
|
||||
]
|
||||
);
|
||||
$sendingQueue = SendingTask::create();
|
||||
$sendingQueue->newsletterId = $newsletter->id;
|
||||
$sendingQueue->save();
|
||||
}
|
||||
// 5 queues/newsletters + 1 of each created in _before() method
|
||||
expect(Newsletter::whereNull('deleted_at')->findArray())->count(6);
|
||||
expect(SendingQueue::whereNull('deleted_at')->findArray())->count(6);
|
||||
|
||||
// bulk trash parent newsletters and check that relations are trashed
|
||||
Newsletter::bulkTrash(ORM::forTable(Newsletter::$_table));
|
||||
expect(Newsletter::whereNotNull('deleted_at')->findArray())->count(6);
|
||||
expect(SendingQueue::whereNotNull('deleted_at')->findArray())->count(6);
|
||||
}
|
||||
|
||||
public function testItBulkRestoresTrashedQueueAssociationsWhenNewslettersAreBulkRestored() {
|
||||
// create multiple newsletters and sending queues
|
||||
$sendingTasks = [];
|
||||
for ($i = 1; $i <= 5; $i++) {
|
||||
$newsletter = Newsletter::createOrUpdate(
|
||||
[
|
||||
'subject' => 'test',
|
||||
'type' => Newsletter::TYPE_STANDARD,
|
||||
'deleted_at' => date('Y-m-d H:i:s'),
|
||||
]
|
||||
);
|
||||
$sendingTask = SendingTask::create();
|
||||
$sendingTask->newsletterId = $newsletter->id;
|
||||
$sendingTask->deletedAt = date('Y-m-d H:i:s');
|
||||
$sendingTask->status = ScheduledTask::STATUS_SCHEDULED;
|
||||
$sendingTask->save();
|
||||
$sendingTasks[] = $sendingTask;
|
||||
}
|
||||
|
||||
$inProgressSendingTask = $sendingTasks[0];
|
||||
$inProgressSendingTask->status = null;
|
||||
$inProgressSendingTask->save();
|
||||
|
||||
expect(Newsletter::whereNotNull('deleted_at')->findArray())->count(5);
|
||||
expect(SendingQueue::whereNotNull('deleted_at')->findArray())->count(5);
|
||||
// Expect one deleted task to be running
|
||||
expect(ScheduledTask::whereNotNull('deleted_at')->whereNull('status')->findArray())->count(1);
|
||||
|
||||
// bulk restore newsletters and check that relations are restored
|
||||
Newsletter::bulkRestore(ORM::forTable(Newsletter::$_table));
|
||||
// 5 queues/newsletters + 1 of each created in _before() method
|
||||
expect(Newsletter::whereNull('deleted_at')->findArray())->count(6);
|
||||
expect(SendingQueue::whereNull('deleted_at')->findArray())->count(6);
|
||||
// Expect the previously running task to be paused
|
||||
expect(ScheduledTask::where('status', ScheduledTask::STATUS_PAUSED)->findArray())->count(1);
|
||||
}
|
||||
|
||||
public function testItBulkRestoresTrashedChildrenQueueAssociationsWhenParentNewslettersAreBulkRestored() {
|
||||
// create multiple children (post notification history) newsletters and sending queues
|
||||
for ($i = 1; $i <= 5; $i++) {
|
||||
$newsletter = Newsletter::createOrUpdate(
|
||||
[
|
||||
'subject' => 'test',
|
||||
'type' => Newsletter::TYPE_NOTIFICATION_HISTORY,
|
||||
'parent_id' => $this->newsletter->id,
|
||||
'deleted_at' => date('Y-m-d H:i:s'),
|
||||
]
|
||||
);
|
||||
$sendingQueue = SendingTask::create();
|
||||
$sendingQueue->newsletterId = $newsletter->id;
|
||||
$sendingQueue->deletedAt = date('Y-m-d H:i:s');
|
||||
$sendingQueue->save();
|
||||
}
|
||||
expect(Newsletter::whereNotNull('deleted_at')->findArray())->count(5);
|
||||
expect(SendingQueue::whereNotNull('deleted_at')->findArray())->count(5);
|
||||
|
||||
// bulk restore parent newsletters and check that relations are restored
|
||||
Newsletter::bulkRestore(ORM::forTable(Newsletter::$_table));
|
||||
// 1 parent and 5 queues/newsletters
|
||||
expect(Newsletter::whereNull('deleted_at')->findArray())->count(6);
|
||||
expect(SendingQueue::whereNull('deleted_at')->findArray())->count(6);
|
||||
}
|
||||
|
||||
public function testItBulkDeletesSegmentAndQueueAssociationsWhenNewslettersAreBulkDeleted() {
|
||||
// create multiple newsletters, sending queues and newsletter segments
|
||||
for ($i = 1; $i <= 5; $i++) {
|
||||
$newsletter = Newsletter::createOrUpdate(
|
||||
[
|
||||
'subject' => 'test',
|
||||
'type' => Newsletter::TYPE_STANDARD,
|
||||
]
|
||||
);
|
||||
$sendingQueue = SendingTask::create();
|
||||
$sendingQueue->newsletterId = $newsletter->id;
|
||||
$sendingQueue->save();
|
||||
$newsletterSegment = NewsletterSegment::create();
|
||||
$newsletterSegment->newsletterId = $newsletter->id;
|
||||
$newsletterSegment->segmentId = 1;
|
||||
$newsletterSegment->save();
|
||||
}
|
||||
// 5 queues/newsletters + 1 of each created in _before() method
|
||||
expect(Newsletter::findArray())->count(6);
|
||||
expect(SendingQueue::findArray())->count(6);
|
||||
// 5 segment associations + 2 created in _before() method
|
||||
expect(NewsletterSegment::findArray())->count(7);
|
||||
|
||||
// bulk delete newsletters and check that relations are deleted
|
||||
Newsletter::bulkDelete(ORM::forTable(Newsletter::$_table));
|
||||
expect(Newsletter::findArray())->count(0);
|
||||
expect(SendingQueue::findArray())->count(0);
|
||||
expect(NewsletterSegment::findArray())->count(0);
|
||||
}
|
||||
|
||||
public function testItBulkDeletesChildrenSegmentAndQueueAssociationsWhenParentNewslettersAreBulkDeleted() {
|
||||
$this->_after();
|
||||
// create multiple children (post notification history) newsletters, sending queues and newsletter segments
|
||||
for ($i = 1; $i <= 5; $i++) {
|
||||
$newsletter = Newsletter::createOrUpdate(
|
||||
[
|
||||
'subject' => 'test',
|
||||
'type' => Newsletter::TYPE_NOTIFICATION_HISTORY,
|
||||
'parent_id' => $this->newsletter->id,
|
||||
]
|
||||
);
|
||||
$sendingQueue = SendingTask::create();
|
||||
$sendingQueue->newsletterId = $newsletter->id;
|
||||
$sendingQueue->save();
|
||||
$newsletterSegment = NewsletterSegment::create();
|
||||
$newsletterSegment->newsletterId = $newsletter->id;
|
||||
$newsletterSegment->segmentId = 1;
|
||||
$newsletterSegment->save();
|
||||
}
|
||||
// 5 queues/newsletters/segment associations
|
||||
expect(Newsletter::findArray())->count(5);
|
||||
expect(SendingQueue::findArray())->count(5);
|
||||
expect(NewsletterSegment::findArray())->count(5);
|
||||
|
||||
// bulk delete newsletters and check that relations are deleted
|
||||
Newsletter::bulkDelete(ORM::forTable(Newsletter::$_table));
|
||||
expect(Newsletter::findArray())->count(0);
|
||||
expect(SendingQueue::findArray())->count(0);
|
||||
expect(NewsletterSegment::findArray())->count(0);
|
||||
}
|
||||
|
||||
public function testItDuplicatesNewsletter() {
|
||||
$originalNewsletter = $this->newsletter;
|
||||
$originalNewsletter->status = Newsletter::STATUS_SENT;
|
||||
|
Reference in New Issue
Block a user