diff --git a/lib/Models/Newsletter.php b/lib/Models/Newsletter.php index f7bdc84dd6..42172cc78a 100644 --- a/lib/Models/Newsletter.php +++ b/lib/Models/Newsletter.php @@ -114,7 +114,7 @@ class Newsletter extends Model { function delete() { // delete segment associations $this->segmentRelations()->deleteMany(); - // delete queue association + // delete queue associations $this->queue()->deleteMany(); return parent::delete(); @@ -137,7 +137,7 @@ class Newsletter extends Model { } function restore() { - // trash queue associations + // restore trashed queue associations SendingQueue::rawExecute( 'UPDATE `' . SendingQueue::$_table . '` ' . 'SET `deleted_at` = null ' . diff --git a/tests/unit/Models/NewsletterTest.php b/tests/unit/Models/NewsletterTest.php index 4bad72ee97..bd6c451bf4 100644 --- a/tests/unit/Models/NewsletterTest.php +++ b/tests/unit/Models/NewsletterTest.php @@ -424,17 +424,23 @@ class NewsletterTest extends MailPoetTest { } function testItDeletesSegmentAndQueueAssociationsWhenNewsletterIsDeleted() { - // make sure relations exist $newsletter = $this->newsletter; - $sending_queue = SendingQueue::where('newsletter_id', $newsletter->id)->findOne(); - expect($sending_queue)->notEmpty(); + + // create multiple sending queues + for($i = 1; $i <= 5; $i++) { + $sending_queue = SendingQueue::create(); + $sending_queue->newsletter_id = $newsletter->id; + $sending_queue->save(); + } + + // make sure relations exist + expect(SendingQueue::where('newsletter_id', $newsletter->id)->findArray())->count(6); $newsletter_segments = NewsletterSegment::where('newsletter_id', $newsletter->id)->findArray(); expect($newsletter_segments)->count(2); // delete newsletter and check that relations no longer exist $newsletter->delete(); - $sending_queue = SendingQueue::where('newsletter_id', $newsletter->id)->findOne(); - expect($sending_queue)->isEmpty(); + expect(SendingQueue::where('newsletter_id', $newsletter->id)->findArray())->isEmpty(); $newsletter_segments = NewsletterSegment::where('newsletter_id', $newsletter->id)->findArray(); expect($newsletter_segments)->isEmpty(); }