diff --git a/lib/Newsletter/ViewInBrowser/ViewInBrowserRenderer.php b/lib/Newsletter/ViewInBrowser/ViewInBrowserRenderer.php index ad2614e5f4..d105798e14 100644 --- a/lib/Newsletter/ViewInBrowser/ViewInBrowserRenderer.php +++ b/lib/Newsletter/ViewInBrowser/ViewInBrowserRenderer.php @@ -93,7 +93,6 @@ class ViewInBrowserRenderer { return $renderedNewsletter; } - /** this is here to prepare entities for the shortcodes library, when this whole file uses doctrine, this can be deleted */ private function prepareShortcodes($newsletter, $subscriber, $queue, $wpUserPreview) { if ($queue instanceof SendingQueueEntity) { $this->shortcodes->setQueue($queue); diff --git a/tests/DataFactories/Newsletter.php b/tests/DataFactories/Newsletter.php index 0ce880a1c2..46216f2e64 100644 --- a/tests/DataFactories/Newsletter.php +++ b/tests/DataFactories/Newsletter.php @@ -57,6 +57,15 @@ class Newsletter { return $this; } + /** + * @param $body + * @return Newsletter + */ + public function withBody($body): Newsletter { + $this->data['body'] = $body; + return $this; + } + /** * @return Newsletter */ diff --git a/tests/integration/Newsletter/ViewInBrowser/ViewInBrowserControllerTest.php b/tests/integration/Newsletter/ViewInBrowser/ViewInBrowserControllerTest.php index f46b6a46d0..aa13952a4a 100644 --- a/tests/integration/Newsletter/ViewInBrowser/ViewInBrowserControllerTest.php +++ b/tests/integration/Newsletter/ViewInBrowser/ViewInBrowserControllerTest.php @@ -13,6 +13,7 @@ use MailPoet\Newsletter\Url; use MailPoet\Subscribers\LinkTokens; use MailPoet\Subscribers\SubscribersRepository; use MailPoet\Tasks\Sending as SendingTask; +use MailPoet\Test\DataFactories\Newsletter; use MailPoet\Util\Security; class ViewInBrowserControllerTest extends \MailPoetTest { @@ -56,62 +57,9 @@ class ViewInBrowserControllerTest extends \MailPoetTest { $this->newsletterUrl = $this->diContainer->get(Url::class); // create newsletter - $newsletterData = [ - 'body' => json_decode( - '{ - "content": { - "type": "container", - "orientation": "vertical", - "styles": { - "block": { - "backgroundColor": "transparent" - } - }, - "blocks": [ - { - "type": "container", - "orientation": "horizontal", - "styles": { - "block": { - "backgroundColor": "transparent" - } - }, - "blocks": [ - { - "type": "container", - "orientation": "vertical", - "styles": { - "block": { - "backgroundColor": "transparent" - } - }, - "blocks": [ - { - "type": "text", - "text": "

Rendered newsletter. Hello, [subscriber:firstname | default:reader]. Unsubscribe or visit Google

" - } - ] - } - ] - } - ] - } - }', true), - 'subject' => 'Some subject', - 'preheader' => 'Some preheader', - 'type' => 'standard', - 'status' => 'active', - ]; - // create newsletter - $newsletter = new NewsletterEntity(); - $newsletter->setSubject($newsletterData['subject']); - $newsletter->setPreheader($newsletterData['preheader']); - $newsletter->setType($newsletterData['type']); - $newsletter->setStatus($newsletterData['status']); - $newsletter->setBody($newsletterData['body']); + $newsletterFactory = new Newsletter(); + $newsletter = $newsletterFactory->create(); $newsletter->setHash(Security::generateHash()); - $this->newslettersRepository->persist($newsletter); - $this->newslettersRepository->flush(); $this->newsletter = $newsletter; // create subscriber @@ -129,7 +77,7 @@ class ViewInBrowserControllerTest extends \MailPoetTest { $sendingTask->setSubscribers([$subscriber->getId()]); $sendingTask->updateProcessedSubscribers([$subscriber->getId()]); $this->sendingTask = $sendingTask->save(); - $this->newslettersRepository->refresh($newsletter); + // build browser preview data $this->browserPreviewData = [ 'queue_id' => $sendingTask->queue()->id, diff --git a/tests/integration/Newsletter/ViewInBrowser/ViewInBrowserRendererTest.php b/tests/integration/Newsletter/ViewInBrowser/ViewInBrowserRendererTest.php index dee7dbf57c..1504e0260c 100644 --- a/tests/integration/Newsletter/ViewInBrowser/ViewInBrowserRendererTest.php +++ b/tests/integration/Newsletter/ViewInBrowser/ViewInBrowserRendererTest.php @@ -17,6 +17,8 @@ use MailPoet\Router\Router; use MailPoet\Settings\SettingsController; use MailPoet\Subscribers\SubscribersRepository; use MailPoet\Tasks\Sending as SendingTask; +use MailPoet\Test\DataFactories\Newsletter; +use MailPoet\Test\DataFactories\NewsletterLink; use MailPoet\WP\Emoji; class ViewInBrowserRendererTest extends \MailPoetTest { @@ -54,8 +56,8 @@ class ViewInBrowserRendererTest extends \MailPoetTest { $this->sendingQueueRepository = $this->diContainer->get(SendingQueuesRepository::class); $this->subscribersRepository = $this->diContainer->get(SubscribersRepository::class); $this->newsletterRepository = $this->diContainer->get(NewslettersRepository::class); - $newsletterData = [ - 'body' => json_decode( + $newsletterBody = + json_decode( '{ "content": { "type": "container", @@ -94,12 +96,7 @@ class ViewInBrowserRendererTest extends \MailPoetTest { } ] } - }', true), - 'subject' => 'Some subject', - 'preheader' => 'Some preheader', - 'type' => 'standard', - 'status' => 'active', - ]; + }', true); $this->queueRenderedNewsletterWithoutTracking = [ 'html' => '

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

', 'text' => 'test', @@ -110,14 +107,9 @@ class ViewInBrowserRendererTest extends \MailPoetTest { ]; // create newsletter - $newsletter = new NewsletterEntity(); - $newsletter->setSubject($newsletterData['subject']); - $newsletter->setPreheader($newsletterData['preheader']); - $newsletter->setType($newsletterData['type']); - $newsletter->setStatus($newsletterData['status']); - $newsletter->setBody($newsletterData['body']); - $this->newsletterRepository->persist($newsletter); - $this->newsletterRepository->flush(); + $newsletter = (new Newsletter()) + ->withBody($newsletterBody) + ->create(); $this->newsletter = $newsletter; // create subscriber @@ -139,13 +131,12 @@ class ViewInBrowserRendererTest extends \MailPoetTest { $this->newsletter = $newsletter; // create newsletter link associations - - $newsletterLink1 = (new \MailPoet\Test\DataFactories\NewsletterLink($newsletter)) + $newsletterLinkFactory = new NewsletterLink($newsletter); + $newsletterLinkFactory ->withUrl('[link:newsletter_view_in_browser_url]') ->withHash('90e56') ->create(); - - $newsletterLink2 = (new \MailPoet\Test\DataFactories\NewsletterLink($newsletter)) + $newsletterLinkFactory ->withUrl('http://google.com') ->withHash('i1893') ->create();