- Adds newsletter body/subject as a reusable template through

Codeception's Fixture utility class
This commit is contained in:
Vlad
2016-09-19 20:40:17 -04:00
parent 1bf0988297
commit 4538cab6c8
3 changed files with 43 additions and 58 deletions

View File

@ -1,5 +1,6 @@
<?php <?php
use Codeception\Util\Fixtures;
use Codeception\Util\Stub; use Codeception\Util\Stub;
use MailPoet\API\Endpoints\Cron; use MailPoet\API\Endpoints\Cron;
use MailPoet\Config\Populator; use MailPoet\Config\Populator;
@ -27,34 +28,8 @@ class SendingQueueTest extends MailPoetTest {
$this->subscriber->save(); $this->subscriber->save();
$this->newsletter = Newsletter::create(); $this->newsletter = Newsletter::create();
$this->newsletter->type = Newsletter::TYPE_STANDARD; $this->newsletter->type = Newsletter::TYPE_STANDARD;
$this->newsletter->subject = 'Newsletter for [subscriber:firstname]'; $this->newsletter->subject = Fixtures::get('newsletter_subject_template');
$this->newsletter->body = ' $this->newsletter->body = Fixtures::get('newsletter_body_template');
{
"content": {
"type": "container",
"orientation": "vertical",
"blocks": [
{
"type": "container",
"styles": { "block": {} },
"orientation": "horizontal",
"blocks": [
{
"type": "container",
"orientation": "vertical",
"styles": { "block": {} },
"blocks": [
{
"type": "text",
"text": "Sample newsletter"
}
]
}
]
}
]
}
}';
$this->newsletter->save(); $this->newsletter->save();
$this->queue = SendingQueue::create(); $this->queue = SendingQueue::create();
$this->queue->newsletter_id = $this->newsletter->id; $this->queue->newsletter_id = $this->newsletter->id;

View File

@ -1,4 +1,5 @@
<?php <?php
use Codeception\Util\Fixtures;
use MailPoet\Cron\Workers\SendingQueue\Tasks\Newsletter as NewsletterTask; use MailPoet\Cron\Workers\SendingQueue\Tasks\Newsletter as NewsletterTask;
use MailPoet\Models\Newsletter; use MailPoet\Models\Newsletter;
use MailPoet\Models\NewsletterLink; use MailPoet\Models\NewsletterLink;
@ -17,37 +18,10 @@ class NewsletterTaskTest extends MailPoetTest {
$this->subscriber->first_name = 'John'; $this->subscriber->first_name = 'John';
$this->subscriber->last_name = 'Doe'; $this->subscriber->last_name = 'Doe';
$this->subscriber->save(); $this->subscriber->save();
$this->post_id = 10;
$this->newsletter = Newsletter::create(); $this->newsletter = Newsletter::create();
$this->newsletter->type = Newsletter::TYPE_STANDARD; $this->newsletter->type = Newsletter::TYPE_STANDARD;
$this->newsletter->subject = 'Newsletter for [subscriber:firstname]'; $this->newsletter->subject = Fixtures::get('newsletter_subject_template');
$this->newsletter->body = ' $this->newsletter->body = Fixtures::get('newsletter_body_template');
{
"content": {
"type": "container",
"orientation": "vertical",
"blocks": [
{
"type": "container",
"styles": { "block": {} },
"orientation": "horizontal",
"blocks": [
{
"type": "container",
"orientation": "vertical",
"styles": { "block": {} },
"blocks": [
{
"type": "text",
"text": "<a data-post-id=\"' . $this->post_id . '\" href=\"http://example.com\">Link</a>Hello [subscriber:firstname]"
}
]
}
]
}
]
}
}';
$this->newsletter->save(); $this->newsletter->save();
$this->queue = SendingQueue::create(); $this->queue = SendingQueue::create();
$this->queue->newsletter_id = $this->newsletter->id; $this->queue->newsletter_id = $this->newsletter->id;
@ -115,7 +89,7 @@ class NewsletterTaskTest extends MailPoetTest {
$newsletter_post = NewsletterPost::where('newsletter_id', $this->newsletter->id) $newsletter_post = NewsletterPost::where('newsletter_id', $this->newsletter->id)
->findOne(); ->findOne();
expect($result)->notEquals(false); expect($result)->notEquals(false);
expect($newsletter_post->post_id)->equals($this->post_id); expect($newsletter_post->post_id)->equals('10');
} }
function testItUpdatesStatusToSentOnlyForStandardNewsletters() { function testItUpdatesStatusToSentOnlyForStandardNewsletters() {

View File

@ -1 +1,37 @@
<?php <?php
use Codeception\Util\Fixtures;
Fixtures::add(
'newsletter_body_template',
'{
"content": {
"type": "container",
"orientation": "vertical",
"blocks": [
{
"type": "container",
"styles": { "block": {} },
"orientation": "horizontal",
"blocks": [
{
"type": "container",
"orientation": "vertical",
"styles": { "block": {} },
"blocks": [
{
"type": "text",
"text": "<a data-post-id=\"10\" href=\"http://example.com\">Link</a>Hello [subscriber:firstname]"
}
]
}
]
}
]
}
}'
);
Fixtures::add(
'newsletter_subject_template',
'Newsletter for [subscriber:firstname]'
);