From f821a60a2c12719f95699c0c8238a3494d9adb95 Mon Sep 17 00:00:00 2001 From: Vlad Date: Thu, 22 Dec 2016 22:56:57 -0500 Subject: [PATCH] - Removes open tracking code URL when newsletter is previewed --- lib/Newsletter/ViewInBrowser.php | 2 ++ tests/unit/Newsletter/ViewInBrowserTest.php | 18 ++++++++++++++++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/lib/Newsletter/ViewInBrowser.php b/lib/Newsletter/ViewInBrowser.php index d180f2fb69..79766bf527 100644 --- a/lib/Newsletter/ViewInBrowser.php +++ b/lib/Newsletter/ViewInBrowser.php @@ -33,6 +33,8 @@ class ViewInBrowser { $newsletter_body, $convert_all = true ); + // remove open tracking link + $newsletter_body = str_replace(Links::DATA_TAG_OPEN, '', $newsletter_body); } } else { $renderer = new Renderer($newsletter, $wp_user_preview); diff --git a/tests/unit/Newsletter/ViewInBrowserTest.php b/tests/unit/Newsletter/ViewInBrowserTest.php index 5499949108..6d7bc8d32d 100644 --- a/tests/unit/Newsletter/ViewInBrowserTest.php +++ b/tests/unit/Newsletter/ViewInBrowserTest.php @@ -5,6 +5,7 @@ use MailPoet\Models\NewsletterLink; use MailPoet\Models\SendingQueue; use MailPoet\Models\Setting; use MailPoet\Models\Subscriber; +use MailPoet\Newsletter\Links\Links; use MailPoet\Newsletter\ViewInBrowser; use MailPoet\Router\Router; @@ -62,7 +63,7 @@ class ViewInBrowserTest extends MailPoetTest { 'html' => '

Newsletter from queue. Hello, [subscriber:firstname | default:reader]. Unsubscribe or visit Google

' ); $this->queue_rendered_newsletter_with_tracking = array( - 'html' => '

Newsletter from queue. Hello, [subscriber:firstname | default:reader]. Unsubscribe or visit Google

' + 'html' => '

Newsletter from queue. Hello, [subscriber:firstname | default:reader]. Unsubscribe or visit Google

' ); } @@ -157,7 +158,6 @@ class ViewInBrowserTest extends MailPoetTest { expect($rendered_body)->contains(''); } - function testReplacesLinkShortcodesWithUrlHashWhenPreviewIsEnabledAndNewsletterWasSent() { $queue = $this->queue; $queue->newsletter_rendered_body = $this->queue_rendered_newsletter_with_tracking; @@ -172,6 +172,20 @@ class ViewInBrowserTest extends MailPoetTest { expect($rendered_body)->contains(''); } + 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(''); + } + function _after() { ORM::raw_execute('TRUNCATE ' . Newsletter::$_table); ORM::raw_execute('TRUNCATE ' . NewsletterLink::$_table);