Sets newsletter status to draft when it's unscheduled

This commit is contained in:
Vlad
2017-09-19 21:59:03 -04:00
parent 28c75c5b96
commit 6b16aa1692
2 changed files with 90 additions and 56 deletions

View File

@@ -169,9 +169,9 @@ class NewslettersTest extends \MailPoetTest {
$sending_queue = SendingQueue::create();
$sending_queue->newsletter_id = $this->newsletter->id;
$sending_queue->status = SendingQueue::STATUS_SCHEDULED;
$sending_queue->newsletter_rendered_body = 'Rendered body ...';
$sending_queue->newsletter_rendered_subject = 'Rendered subject ...';
$sending_queue->newsletter_rendered_body = array('html' => 'html', 'text' => 'text');
$sending_queue->save();
expect($sending_queue->getErrors())->false();
$router = new Newsletters();
$newsletter_data = array(
@@ -771,6 +771,38 @@ class NewslettersTest extends \MailPoetTest {
expect((boolean)$preview_link_data['preview'])->true();
}
function testItDeletesSendingQueueAndSetsNewsletterStatusToDraftWhenItIsUnscheduled() {
$newsletter = $this->newsletter;
$newsletter->status = Newsletter::STATUS_SCHEDULED;
$newsletter->save();
expect($newsletter->getErrors())->false();
$sending_queue = SendingQueue::create();
$sending_queue->newsletter_id = $newsletter->id;
$sending_queue->newsletter_rendered_body = array(
'html' => 'html',
'text' => 'text'
);
$sending_queue->status = SendingQueue::STATUS_SCHEDULED;
$sending_queue->scheduled_at = Carbon::now()->format('Y-m-d H:i');
$sending_queue->save();
expect($sending_queue->getErrors())->false();
$newsletter_data = array(
'id' => $newsletter->id,
'options' => array(
'isScheduled' => false
)
);
$router = new Newsletters();
$response = $router->save($newsletter_data);
$newsletter = Newsletter::findOne($newsletter->id);
$sending_queue = SendingQueue::findOne($sending_queue->id);
expect($newsletter->status)->equals(Newsletter::STATUS_DRAFT);
expect($sending_queue)->false();
}
function _after() {
WPHooksHelper::releaseAllHooks();
\ORM::raw_execute('TRUNCATE ' . Newsletter::$_table);