Remove AspectMock usage from PostContentTransformerTest [MAILPOET-2454]

This commit is contained in:
wxa
2019-10-24 21:07:01 +03:00
committed by Jack Kitterhing
parent 8993262197
commit 6667c70e19
3 changed files with 263 additions and 215 deletions

View File

@@ -2,8 +2,9 @@
namespace MailPoet\Test\Newsletter\Editor;
use AspectMock\Test as Mock;
use Codeception\Stub\Expected;
use MailPoet\Newsletter\Editor\PostTransformer;
use MailPoet\Newsletter\Editor\PostTransformerContentsExtractor;
class PostContentTransformerTest extends \MailPoetTest {
/** @var array */
@@ -241,12 +242,25 @@ class PostContentTransformerTest extends \MailPoetTest {
$post = [];
$expected_with_post_class = true;
$transformer = new PostTransformer($args);
$mock_get_content = Mock::double($transformer, ['getContent' => $this->content_mock]);
Mock::double($transformer, ['getFeaturedImage' => null]);
Mock::double($transformer, ['getTitle' => 'Title']);
$extractor = $this->make(
PostTransformerContentsExtractor::class,
[
'getContent' => Expected::once($this->content_mock),
'getFeaturedImage' => null,
'getTitle' => 'Title',
],
$this
);
$extractor->expects($this->once())
->method('getContent')
->with(
$this->equalTo($post),
$this->equalTo($expected_with_post_class),
$this->equalTo('full')
);
$transformer = new PostTransformer($args, $extractor);
$transformer->transform($post);
$mock_get_content->verifyInvokedOnce('getContent', [$post, $expected_with_post_class, 'full']);
}
function testShouldNotAddClassToParagraphsInExcerptWithLayout() {
@@ -259,27 +273,42 @@ class PostContentTransformerTest extends \MailPoetTest {
$post = [];
$expected_with_post_class = false;
$transformer = new PostTransformer($args);
$mock_get_content = Mock::double($transformer, ['getContent' => $this->content_mock]);
Mock::double($transformer, ['getFeaturedImage' => null]);
Mock::double($transformer, ['getTitle' => 'Title']);
$extractor = $this->make(
PostTransformerContentsExtractor::class,
[
'getContent' => Expected::once($this->content_mock),
'getFeaturedImage' => null,
'getTitle' => 'Title',
],
$this
);
$extractor->expects($this->once())
->method('getContent')
->with(
$this->equalTo($post),
$this->equalTo($expected_with_post_class),
$this->equalTo('excerpt')
);
$transformer = new PostTransformer($args, $extractor);
$transformer->transform($post);
$mock_get_content->verifyInvokedOnce('getContent', [$post, $expected_with_post_class, 'excerpt']);
}
/**
* @return PostTransformer
*/
private function getTransformer(array $args, array $content, array $title, array $image = null) {
$transformer = new PostTransformer($args);
Mock::double($transformer, ['getContent' => $content]);
Mock::double($transformer, ['getFeaturedImage' => $image]);
Mock::double($transformer, ['getTitle' => $title]);
Mock::double($transformer, ['isProduct' => false]);
$extractor = $this->make(
PostTransformerContentsExtractor::class,
[
'getContent' => $content,
'getFeaturedImage' => $image,
'getTitle' => $title,
'isProduct' => false,
],
$this
);
$transformer = new PostTransformer($args, $extractor);
return $transformer;
}
function _after() {
Mock::clean();
}
}