Move WPHooks methods to WPFunctions

This commit is contained in:
Amine Ben hammou
2019-01-28 19:00:19 +01:00
parent d452cfcae7
commit 8b602bd947
49 changed files with 354 additions and 258 deletions

View File

@@ -15,7 +15,7 @@ use MailPoet\Config\AccessControl;
use MailPoet\DI\ContainerConfigurator;
use MailPoetVendor\Symfony\Component\DependencyInjection\Container;
use MailPoet\DI\ContainerFactory;
use MailPoet\WP\Hooks;
use MailPoet\WP\Functions as WPFunctions;
// required to be able to use wp_delete_user()
require_once(ABSPATH . 'wp-admin/includes/user.php');
@@ -46,7 +46,7 @@ class APITest extends \MailPoetTest {
function testItCallsAPISetupAction() {
$called = false;
Hooks::addAction(
(new WPFunctions)->addAction(
'mailpoet_api_setup',
function($api) use (&$called) {
$called = true;
@@ -57,6 +57,7 @@ class APITest extends \MailPoetTest {
$this->api,
'setupAjax',
array(
'wp' => new WPFunctions,
'processRoute' => Stub::makeEmpty(new SuccessResponse)
)
);
@@ -285,7 +286,6 @@ class APITest extends \MailPoetTest {
}
function _after() {
WPHooksHelper::releaseAllHooks();
wp_delete_user($this->wp_user_id);
}
}

View File

@@ -3,10 +3,11 @@
namespace MailPoet\Test\API\JSON\v1;
use MailPoet\API\JSON\v1\AutomatedLatestContent;
use MailPoet\WP\Functions as WPFunctions;
class AutomatedLatestContentTest extends \MailPoetTest {
function testItGetsPostTypes() {
$endpoint = new AutomatedLatestContent(new \MailPoet\Newsletter\AutomatedLatestContent());
$endpoint = new AutomatedLatestContent(new \MailPoet\Newsletter\AutomatedLatestContent(), new WPFunctions);
$response = $endpoint->getPostTypes();
expect($response->data)->notEmpty();
foreach($response->data as $post_type) {
@@ -17,7 +18,7 @@ class AutomatedLatestContentTest extends \MailPoetTest {
}
function testItDoesNotGetPostTypesExludedFromSearch() {
$endpoint = new AutomatedLatestContent(new \MailPoet\Newsletter\AutomatedLatestContent());
$endpoint = new AutomatedLatestContent(new \MailPoet\Newsletter\AutomatedLatestContent(), new WPFunctions);
$response = $endpoint ->getPostTypes();
// WP's default post type 'revision' is excluded from search
// https://codex.wordpress.org/Post_Types

View File

@@ -7,6 +7,8 @@ use Codeception\Util\Fixtures;
use Codeception\Util\Stub;
use Helper\WordPressHooks as WPHooksHelper;
use MailPoet\API\JSON\Response as APIResponse;
use MailPoet\Listing\BulkActionController;
use MailPoet\Listing\Handler;
use MailPoet\API\JSON\v1\Newsletters;
use MailPoet\DI\ContainerWrapper;
use MailPoet\Models\Newsletter;
@@ -22,6 +24,7 @@ use MailPoet\Newsletter\Url;
use MailPoet\Router\Router;
use MailPoet\Subscription\Url as SubscriptionUrl;
use MailPoet\Tasks\Sending as SendingTask;
use MailPoet\WP\Functions as WPFunctions;
class NewslettersTest extends \MailPoetTest {
/** @var Newsletters */
@@ -98,8 +101,14 @@ class NewslettersTest extends \MailPoetTest {
expect($response->errors[0]['message'])
->equals('This newsletter does not exist.');
WPHooksHelper::interceptApplyFilters();
$wp = Stub::make(new WPFunctions, [
'applyFilters' => asCallable([WPHooksHelper::class, 'applyFilters'])
]);
$this->endpoint = new Newsletters(
ContainerWrapper::getInstance()->get(BulkActionController::class),
ContainerWrapper::getInstance()->get(Handler::class),
$wp
);
$response = $this->endpoint->get(array('id' => $this->newsletter->id));
expect($response->status)->equals(APIResponse::STATUS_OK);
expect($response->data)->equals(
@@ -128,9 +137,15 @@ class NewslettersTest extends \MailPoetTest {
)
);
WPHooksHelper::interceptApplyFilters();
WPHooksHelper::interceptDoAction();
$wp = Stub::make(new WPFunctions, [
'applyFilters' => asCallable([WPHooksHelper::class, 'applyFilters']),
'doAction' => asCallable([WPHooksHelper::class, 'doAction'])
]);
$this->endpoint = new Newsletters(
ContainerWrapper::getInstance()->get(BulkActionController::class),
ContainerWrapper::getInstance()->get(Handler::class),
$wp
);
$response = $this->endpoint->save($valid_data);
$saved_newsletter = Newsletter::filter('filterWithOptions', Newsletter::TYPE_STANDARD)
@@ -487,7 +502,14 @@ class NewslettersTest extends \MailPoetTest {
}
function testItCanDuplicateANewsletter() {
WPHooksHelper::interceptDoAction();
$wp = Stub::make(new WPFunctions, [
'doAction' => asCallable([WPHooksHelper::class, 'doAction'])
]);
$this->endpoint = new Newsletters(
ContainerWrapper::getInstance()->get(BulkActionController::class),
ContainerWrapper::getInstance()->get(Handler::class),
$wp
);
$response = $this->endpoint->duplicate(array('id' => $this->newsletter->id));
expect($response->status)->equals(APIResponse::STATUS_OK);
@@ -846,7 +868,6 @@ class NewslettersTest extends \MailPoetTest {
}
function _after() {
WPHooksHelper::releaseAllHooks();
\ORM::raw_execute('TRUNCATE ' . Newsletter::$_table);
\ORM::raw_execute('TRUNCATE ' . NewsletterSegment::$_table);
\ORM::raw_execute('TRUNCATE ' . NewsletterOptionField::$_table);

View File

@@ -1,10 +1,12 @@
<?php
namespace MailPoet\Test\API\JSON\v1;
use Codeception\Stub;
use MailPoet\Models\Setting;
use MailPoet\API\JSON\v1\Setup;
use MailPoet\WP\Functions as WPFunctions;
use Helper\WordPressHooks as WPHooksHelper;
use MailPoet\API\JSON\Response as APIResponse;
use MailPoet\API\JSON\v1\Setup;
use MailPoet\Models\Setting;
class SetupTest extends \MailPoetTest {
function _before() {
@@ -12,9 +14,11 @@ class SetupTest extends \MailPoetTest {
}
function testItCanReinstall() {
WPHooksHelper::interceptDoAction();
$wp = Stub::make(new WPFunctions, [
'doAction' => asCallable([WPHooksHelper::class, 'doAction'])
]);
$router = new Setup();
$router = new Setup($wp);
$response = $router->reset();
expect($response->status)->equals(APIResponse::STATUS_OK);
@@ -26,7 +30,6 @@ class SetupTest extends \MailPoetTest {
}
function _after() {
WPHooksHelper::releaseAllHooks();
Setting::deleteMany();
}
}