Use PHPUnit mock instead of aspect mock in sending queue newsletter task test

[MAILPOET-2458]
This commit is contained in:
Rostislav Wolny
2019-10-09 16:54:50 +02:00
committed by Jack Kitterhing
parent 31d8125b99
commit 6cbaeee868

View File

@ -2,7 +2,6 @@
namespace MailPoet\Test\Cron\Workers\SendingQueue\Tasks; namespace MailPoet\Test\Cron\Workers\SendingQueue\Tasks;
use AspectMock\Test as Mock;
use Codeception\Stub; use Codeception\Stub;
use Codeception\Util\Fixtures; use Codeception\Util\Fixtures;
use Helper\WordPressHooks as WPHooksHelper; use Helper\WordPressHooks as WPHooksHelper;
@ -343,13 +342,16 @@ class NewsletterTest extends \MailPoetTest {
} }
function testItLogsErrorWhenExistingRenderedNewsletterBodyIsInvalid() { function testItLogsErrorWhenExistingRenderedNewsletterBodyIsInvalid() {
$queue_mock = Mock::double( $queue_mock = $this->createMock(SendingTask::class);
$this->queue, $queue_mock
[ ->expects($this->any())
'getNewsletterRenderedBody' => 'a:2:{s:4:"html"', ->method('__call')
'validate' => false, ->with('getNewsletterRenderedBody')
] ->willReturn('a:2:{s:4:"html"');
); $queue_mock
->expects($this->once())
->method('validate')
->willReturn(false);
try { try {
$this->newsletter_task->preProcessNewsletter($this->newsletter, $queue_mock); $this->newsletter_task->preProcessNewsletter($this->newsletter, $queue_mock);
self::fail('Sending error exception was not thrown.'); self::fail('Sending error exception was not thrown.');
@ -362,17 +364,25 @@ class NewsletterTest extends \MailPoetTest {
function testItLogsErrorWhenNewlyRenderedNewsletterBodyIsInvalid() { function testItLogsErrorWhenNewlyRenderedNewsletterBodyIsInvalid() {
$queue = $this->queue; $queue = $this->queue;
$queue_mock = Mock::double( $queue_mock = $this->createMock(SendingTask::class);
$this->queue, $queue_mock
[ ->expects($this->any())
'getNewsletterRenderedBody' => null, ->method('__call')
] ->with('getNewsletterRenderedBody')
); ->willReturn(null);
$queue_mock
->expects($this->once())
->method('save');
$queue_mock
->expects($this->once())
->method('getErrors')
->willReturn([]);
$queue_mock->id = $queue->id; $queue_mock->id = $queue->id;
$queue_mock->task_id = $queue->task_id;
// broken serialized object $sending_queue = \ORM::forTable(SendingQueue::$_table)->findOne($queue->id);
$queue->newsletter_rendered_body = 'a:2:{s:4:"html"'; $sending_queue->set('newsletter_rendered_body', 'a:2:{s:4:"html"');
$queue->save(); $sending_queue->save();
try { try {
$this->newsletter_task->preProcessNewsletter($this->newsletter, $queue_mock); $this->newsletter_task->preProcessNewsletter($this->newsletter, $queue_mock);
self::fail('Sending error exception was not thrown.'); self::fail('Sending error exception was not thrown.');
@ -385,18 +395,26 @@ class NewsletterTest extends \MailPoetTest {
function testItPreProcessesNewsletterWhenNewlyRenderedNewsletterBodyIsValid() { function testItPreProcessesNewsletterWhenNewlyRenderedNewsletterBodyIsValid() {
$queue = $this->queue; $queue = $this->queue;
$queue_mock = Mock::double( $queue_mock = $this->createMock(SendingTask::class);
new \stdClass(), $queue_mock
[ ->expects($this->any())
'getNewsletterRenderedBody' => null, ->method('__call')
] ->with('getNewsletterRenderedBody')
); ->willReturn(null);
$queue_mock
->expects($this->once())
->method('save');
$queue_mock
->expects($this->once())
->method('getErrors')
->willReturn([]);
$queue_mock->id = $queue->id; $queue_mock->id = $queue->id;
$queue_mock->task_id = $queue->task_id; $queue_mock->task_id = $queue->task_id;
// properly serialized object // properly serialized object
$queue->newsletter_rendered_body = 'a:2:{s:4:"html";s:4:"test";s:4:"text";s:4:"test";}'; $sending_queue = \ORM::forTable(SendingQueue::$_table)->findOne($queue->id);
$queue->save(); $sending_queue->set('newsletter_rendered_body', 'a:2:{s:4:"html";s:4:"test";s:4:"text";s:4:"test";}');
$sending_queue->save();
expect($this->newsletter_task->preProcessNewsletter($this->newsletter, $queue_mock))->equals($this->newsletter); expect($this->newsletter_task->preProcessNewsletter($this->newsletter, $queue_mock))->equals($this->newsletter);
} }