- Deletes post notification history record when no posts are found and
when sending queue record is deleted - Reverts back changes to the model's delete() method - Updates unit tests
This commit is contained in:
@@ -46,6 +46,8 @@ class Newsletter {
|
||||
if($newsletter->type === NewsletterModel::TYPE_NOTIFICATION_HISTORY &&
|
||||
!$newsletter_contains_posts
|
||||
) {
|
||||
// delete notification history record since it will never be sent
|
||||
$newsletter->delete();
|
||||
return false;
|
||||
}
|
||||
// extract and save newsletter posts
|
||||
|
@@ -52,13 +52,6 @@ class SendingQueue extends Model {
|
||||
return $this;
|
||||
}
|
||||
|
||||
function delete() {
|
||||
if($parent_newsletter = $this->newsletter()->findOne()) {
|
||||
$parent_newsletter->delete();
|
||||
};
|
||||
return parent::delete();
|
||||
}
|
||||
|
||||
function getSubscribers() {
|
||||
if(!is_serialized($this->subscribers)) {
|
||||
return $this->subscribers;
|
||||
|
@@ -74,15 +74,19 @@ class NewsletterTaskTest extends MailPoetTest {
|
||||
->notContains('[mailpoet_open_data]');
|
||||
}
|
||||
|
||||
function testReturnsFalseWhenNewsletterIsANotificationWithoutPosts() {
|
||||
function testItReturnsFalseAndDeletesNewsletterWhenPostNotificationContainsNoPostsn() {
|
||||
$newsletter = $this->newsletter;
|
||||
|
||||
$newsletter->type = Newsletter::TYPE_NOTIFICATION_HISTORY;
|
||||
// replace post id data tag with something else
|
||||
$newsletter->body = str_replace('data-post-id', 'id', $newsletter->body);
|
||||
$newsletter->save();
|
||||
// returned result is false
|
||||
$result = $this->newsletter_task->getAndPreProcess($this->queue);
|
||||
expect($result)->false();
|
||||
// newsletter is deleted
|
||||
$newsletter = Newsletter::findOne($newsletter->id);
|
||||
expect($newsletter)->false();
|
||||
}
|
||||
|
||||
function testItSavesNewsletterPosts() {
|
||||
|
@@ -1,28 +0,0 @@
|
||||
<?php
|
||||
|
||||
use MailPoet\Models\Newsletter;
|
||||
use MailPoet\Models\SendingQueue;
|
||||
|
||||
class SendingQueueModelTest extends MailPoetTest {
|
||||
function _before() {
|
||||
$this->newsletter = Newsletter::create();
|
||||
$this->newsletter->type = Newsletter::TYPE_STANDARD;
|
||||
$this->newsletter->save();
|
||||
expect(Newsletter::findMany())->count(1);
|
||||
$this->sending_queue = SendingQueue::create();
|
||||
$this->sending_queue->newsletter_id = $this->newsletter->id;
|
||||
$this->sending_queue->save();
|
||||
expect(SendingQueue::findMany())->count(1);
|
||||
}
|
||||
|
||||
function testItDeletesParentNewsletter() {
|
||||
$this->sending_queue->delete();
|
||||
expect(Newsletter::findMany())->count(0);
|
||||
expect(SendingQueue::findMany())->count(0);
|
||||
}
|
||||
|
||||
function _after() {
|
||||
ORM::raw_execute('TRUNCATE ' . Newsletter::$_table);
|
||||
ORM::raw_execute('TRUNCATE ' . SendingQueue::$_table);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user