- Removes open tracking code URL when newsletter is previewed

This commit is contained in:
Vlad
2016-12-22 22:56:57 -05:00
parent fc54f31d3d
commit f821a60a2c
2 changed files with 18 additions and 2 deletions

View File

@@ -33,6 +33,8 @@ class ViewInBrowser {
$newsletter_body, $newsletter_body,
$convert_all = true $convert_all = true
); );
// remove open tracking link
$newsletter_body = str_replace(Links::DATA_TAG_OPEN, '', $newsletter_body);
} }
} else { } else {
$renderer = new Renderer($newsletter, $wp_user_preview); $renderer = new Renderer($newsletter, $wp_user_preview);

View File

@@ -5,6 +5,7 @@ use MailPoet\Models\NewsletterLink;
use MailPoet\Models\SendingQueue; use MailPoet\Models\SendingQueue;
use MailPoet\Models\Setting; use MailPoet\Models\Setting;
use MailPoet\Models\Subscriber; use MailPoet\Models\Subscriber;
use MailPoet\Newsletter\Links\Links;
use MailPoet\Newsletter\ViewInBrowser; use MailPoet\Newsletter\ViewInBrowser;
use MailPoet\Router\Router; use MailPoet\Router\Router;
@@ -62,7 +63,7 @@ class ViewInBrowserTest extends MailPoetTest {
'html' => '<p>Newsletter from queue. Hello, [subscriber:firstname | default:reader]. <a href="[link:newsletter_view_in_browser_url]">Unsubscribe</a> or visit <a href="http://google.com">Google</a></p>' 'html' => '<p>Newsletter from queue. Hello, [subscriber:firstname | default:reader]. <a href="[link:newsletter_view_in_browser_url]">Unsubscribe</a> or visit <a href="http://google.com">Google</a></p>'
); );
$this->queue_rendered_newsletter_with_tracking = array( $this->queue_rendered_newsletter_with_tracking = array(
'html' => '<p>Newsletter from queue. Hello, [subscriber:firstname | default:reader]. <a href="[mailpoet_click_data]-90e56">Unsubscribe</a> or visit <a href="[mailpoet_click_data]-i1893">Google</a></p>' 'html' => '<p>Newsletter from queue. Hello, [subscriber:firstname | default:reader]. <a href="' . Links::DATA_TAG_CLICK . '-90e56">Unsubscribe</a> or visit <a href="' . Links::DATA_TAG_CLICK . '-i1893">Google</a><img alt="" class="" src="' . Links::DATA_TAG_OPEN . '"></p>'
); );
} }
@@ -157,7 +158,6 @@ class ViewInBrowserTest extends MailPoetTest {
expect($rendered_body)->contains('<a href="http://google.com">'); expect($rendered_body)->contains('<a href="http://google.com">');
} }
function testReplacesLinkShortcodesWithUrlHashWhenPreviewIsEnabledAndNewsletterWasSent() { function testReplacesLinkShortcodesWithUrlHashWhenPreviewIsEnabledAndNewsletterWasSent() {
$queue = $this->queue; $queue = $this->queue;
$queue->newsletter_rendered_body = $this->queue_rendered_newsletter_with_tracking; $queue->newsletter_rendered_body = $this->queue_rendered_newsletter_with_tracking;
@@ -172,6 +172,20 @@ class ViewInBrowserTest extends MailPoetTest {
expect($rendered_body)->contains('<a href="#">'); expect($rendered_body)->contains('<a href="#">');
} }
function testRemovesOpenTrackingTagWhenPreviewIsEnabledAndNewsletterWasSent() {
$queue = $this->queue;
$queue->newsletter_rendered_body = $this->queue_rendered_newsletter_with_tracking;
$rendered_body = ViewInBrowser::renderNewsletter(
$this->newsletter,
$this->subscriber,
$queue,
$preview = true
);
// open tracking data tag should be removed
expect($rendered_body)->notContains('[mailpoet_open_data]');
expect($rendered_body)->contains('<img alt="" class="" src="">');
}
function _after() { function _after() {
ORM::raw_execute('TRUNCATE ' . Newsletter::$_table); ORM::raw_execute('TRUNCATE ' . Newsletter::$_table);
ORM::raw_execute('TRUNCATE ' . NewsletterLink::$_table); ORM::raw_execute('TRUNCATE ' . NewsletterLink::$_table);