Restores all sending queue associations when newsletters are bulk restored

This commit is contained in:
Vlad
2017-04-27 21:00:16 -04:00
parent 166fef899f
commit 0316f3ea3e
2 changed files with 40 additions and 0 deletions

View File

@ -492,6 +492,36 @@ class NewsletterTest extends MailPoetTest {
}
}
function testItBulkRestoresTrashedQueueAssociationsWhenNewslettersAreBulkRestored() {
// delete default records
$this->_after();
// create multiple newsletters and sending queues
for($i = 1; $i <= 5; $i++) {
$newsletter = Newsletter::createOrUpdate(
array(
'subject' => 'test',
'type' => Newsletter::TYPE_STANDARD,
'deleted_at' => date('Y-m-d H:i:s')
)
);
$sending_queue = SendingQueue::create();
$sending_queue->newsletter_id = $newsletter->id;
$sending_queue->deleted_at = date('Y-m-d H:i:s');
$sending_queue->save();
}
expect(Newsletter::findArray())->count(5);
expect(SendingQueue::findArray())->count(5);
// bulk restore newsletters and check that relations are restored
Newsletter::bulkRestore(ORM::forTable(Newsletter::$_table));
$newsletters = Newsletter::findMany();
foreach($newsletters as $newsletter) {
expect($newsletter->deleted_at)->null();
expect($newsletter->queue()->findOne()->deleted_at)->null();
}
}
function _after() {
ORM::raw_execute('TRUNCATE ' . NewsletterOption::$_table);
ORM::raw_execute('TRUNCATE ' . Newsletter::$_table);