Make PostsTask method non-static
[MAILPOET-2029]
This commit is contained in:
@@ -24,13 +24,20 @@ class Newsletter {
|
||||
/** @var WPFunctions */
|
||||
private $wp;
|
||||
|
||||
function __construct(WPFunctions $wp = null) {
|
||||
/** @var PostsTask */
|
||||
private $posts_task;
|
||||
|
||||
function __construct(WPFunctions $wp = null, PostsTask $posts_task = null) {
|
||||
$settings = new SettingsController();
|
||||
$this->tracking_enabled = (boolean)$settings->get('tracking.enabled');
|
||||
if ($wp == null) {
|
||||
if ($wp === null) {
|
||||
$wp = new WPFunctions;
|
||||
}
|
||||
$this->wp = $wp;
|
||||
if ($posts_task === null) {
|
||||
$posts_task = new PostsTask;
|
||||
}
|
||||
$this->posts_task = $posts_task;
|
||||
}
|
||||
|
||||
function getNewsletterFromQueue($queue) {
|
||||
@@ -100,7 +107,7 @@ class Newsletter {
|
||||
return false;
|
||||
}
|
||||
// extract and save newsletter posts
|
||||
PostsTask::extractAndSave($rendered_newsletter, $newsletter);
|
||||
$this->posts_task->extractAndSave($rendered_newsletter, $newsletter);
|
||||
// update queue with the rendered and pre-processed newsletter
|
||||
$queue->newsletter_rendered_subject = ShortcodesTask::process(
|
||||
$newsletter->subject,
|
||||
|
@@ -7,7 +7,7 @@ use MailPoet\Models\NewsletterPost;
|
||||
if (!defined('ABSPATH')) exit;
|
||||
|
||||
class Posts {
|
||||
static function extractAndSave($rendered_newsletter, $newsletter) {
|
||||
function extractAndSave($rendered_newsletter, $newsletter) {
|
||||
if ($newsletter->type !== NewsletterModel::TYPE_NOTIFICATION_HISTORY) {
|
||||
return false;
|
||||
}
|
||||
|
@@ -8,6 +8,15 @@ use MailPoet\Models\NewsletterPost;
|
||||
if (!defined('ABSPATH')) exit;
|
||||
|
||||
class PostsTest extends \MailPoetTest {
|
||||
|
||||
/** @var PostsTask */
|
||||
private $posts_task;
|
||||
|
||||
function _before() {
|
||||
parent::_before();
|
||||
$this->posts_task = new PostsTask;
|
||||
}
|
||||
|
||||
function testItFailsWhenNoPostsArePresent() {
|
||||
$newsletter = (object)array(
|
||||
'id' => 1,
|
||||
@@ -16,7 +25,7 @@ class PostsTest extends \MailPoetTest {
|
||||
$rendered_newsletter = array(
|
||||
'html' => 'Sample newsletter'
|
||||
);
|
||||
expect(PostsTask::extractAndSave($rendered_newsletter, $newsletter))->equals(false);
|
||||
expect($this->posts_task->extractAndSave($rendered_newsletter, $newsletter))->equals(false);
|
||||
}
|
||||
|
||||
function testItCanExtractAndSavePosts() {
|
||||
@@ -29,7 +38,7 @@ class PostsTest extends \MailPoetTest {
|
||||
$rendered_newsletter = array(
|
||||
'html' => '<a data-post-id="' . $post_id . '" href="#">sample post</a>'
|
||||
);
|
||||
expect(PostsTask::extractAndSave($rendered_newsletter, $newsletter))->equals(true);
|
||||
expect($this->posts_task->extractAndSave($rendered_newsletter, $newsletter))->equals(true);
|
||||
$newsletter_post = NewsletterPost::where('newsletter_id', $newsletter->parent_id)
|
||||
->findOne();
|
||||
expect($newsletter_post->post_id)->equals($post_id);
|
||||
@@ -45,9 +54,9 @@ class PostsTest extends \MailPoetTest {
|
||||
$rendered_newsletter = array(
|
||||
'html' => '<a data-post-id="' . $post_id . '" href="#">sample post</a>'
|
||||
);
|
||||
expect(PostsTask::extractAndSave($rendered_newsletter, $newsletter))->equals(false);
|
||||
expect($this->posts_task->extractAndSave($rendered_newsletter, $newsletter))->equals(false);
|
||||
$newsletter->type = Newsletter::TYPE_STANDARD;
|
||||
expect(PostsTask::extractAndSave($rendered_newsletter, $newsletter))->equals(false);
|
||||
expect($this->posts_task->extractAndSave($rendered_newsletter, $newsletter))->equals(false);
|
||||
}
|
||||
|
||||
function _after() {
|
||||
|
Reference in New Issue
Block a user