diff --git a/lib/API/JSON/v1/Newsletters.php b/lib/API/JSON/v1/Newsletters.php index beab51932c..05c3efcb15 100644 --- a/lib/API/JSON/v1/Newsletters.php +++ b/lib/API/JSON/v1/Newsletters.php @@ -279,7 +279,9 @@ class Newsletters extends APIEndpoint { $shortcodes = new \MailPoet\Newsletter\Shortcodes\Shortcodes( $newsletter, - $subscriber + $subscriber, + $queue = false, + $wp_user_preview = true ); list( @@ -296,7 +298,8 @@ class Newsletters extends APIEndpoint { $sender = false, $reply_to = false ); - $result = $mailer->send($rendered_newsletter, $data['subscriber']); + $extra_params = array('unsubscribe_url' => home_url()); + $result = $mailer->send($rendered_newsletter, $data['subscriber'], $extra_params); if($result['response'] === false) { $error = sprintf( diff --git a/tests/unit/API/JSON/v1/NewslettersTest.php b/tests/unit/API/JSON/v1/NewslettersTest.php index 53cbbe6033..09400b4fba 100644 --- a/tests/unit/API/JSON/v1/NewslettersTest.php +++ b/tests/unit/API/JSON/v1/NewslettersTest.php @@ -585,10 +585,15 @@ class NewslettersTest extends MailPoetTest { 'mailer' => Stub::makeEmpty( '\MailPoet\Mailer\Mailer', array( - 'send' => function($newsletter, $subscriber) { + 'send' => function($newsletter, $subscriber, $extra_params) { expect(is_array($newsletter))->true(); expect($newsletter['body']['text'])->contains('Hello test'); expect($subscriber)->equals($subscriber); + expect($extra_params['unsubscribe_url'])->equals(home_url()); + // system links are replaced with hashes + expect($newsletter['body']['html'])->contains('href="#">View in browser'); + expect($newsletter['body']['html'])->contains('href="#">Unsubscribe'); + expect($newsletter['body']['html'])->contains('href="#">Manage subscription'); return array('response' => true); } ) diff --git a/tests/unit/_bootstrap.php b/tests/unit/_bootstrap.php index ce4f15b7d1..0b67101785 100644 --- a/tests/unit/_bootstrap.php +++ b/tests/unit/_bootstrap.php @@ -1,6 +1,8 @@ LinkHello [subscriber:firstname | default:test]" + "text": "View in browser link Post link Hello [subscriber:firstname | default:test] Unsubscribe link Manage subscription link" } ] }