Restores sending queue association when newsletter is restored

This commit is contained in:
Vlad
2017-04-27 19:20:32 -04:00
parent 6e2494831c
commit 4e850408fc
2 changed files with 16 additions and 0 deletions

View File

@@ -727,6 +727,9 @@ class Newsletter extends Model {
}
function restore() {
// restore trashed queue association
$this->queue()->findOne()->restore();
if($this->status == self::STATUS_SENDING) {
$this->set('status', self::STATUS_DRAFT);
$this->save();

View File

@@ -451,6 +451,19 @@ class NewsletterTest extends MailPoetTest {
expect($sending_queue->deleted_at)->notNull();
}
function testItRestoresTrashedQueueAssociationWhenNewsletterIsRestored() {
// trash newsletter and check that relation is trashed
$newsletter = $this->newsletter;
$newsletter->trash();
$sending_queue = SendingQueue::where('newsletter_id', $newsletter->id)->findOne();
expect($sending_queue->deleted_at)->notNull();
// restore newsletter and check that relation is restores
$newsletter->restore();
$sending_queue = SendingQueue::where('newsletter_id', $newsletter->id)->findOne();
expect($sending_queue->deleted_at)->null();
}
function _after() {
ORM::raw_execute('TRUNCATE ' . NewsletterOption::$_table);
ORM::raw_execute('TRUNCATE ' . Newsletter::$_table);