Remove bulk methods from legacy newsletter model

[MAILPOET-2898]
This commit is contained in:
Rostislav Wolny
2020-06-10 10:48:09 +02:00
committed by Veljko V
parent 8a78322854
commit babb27dd72
2 changed files with 0 additions and 282 deletions

View File

@@ -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;