Add a hook for reinstalling Premium [PREMIUM-2]

This commit is contained in:
Alexey Stoletniy
2017-03-23 15:27:15 +03:00
parent 32097b4512
commit ff36833270
3 changed files with 14 additions and 4 deletions

View File

@ -1,7 +1,9 @@
<?php <?php
namespace MailPoet\API\Endpoints; namespace MailPoet\API\Endpoints;
use MailPoet\API\Endpoint as APIEndpoint; use MailPoet\API\Endpoint as APIEndpoint;
use MailPoet\Config\Activator; use MailPoet\Config\Activator;
use MailPoet\WP\Hooks;
if(!defined('ABSPATH')) exit; if(!defined('ABSPATH')) exit;
@ -11,6 +13,7 @@ class Setup extends APIEndpoint {
$activator = new Activator(); $activator = new Activator();
$activator->deactivate(); $activator->deactivate();
$activator->activate(); $activator->activate();
Hooks::doAction('mailpoet_setup_reset');
return $this->successResponse(); return $this->successResponse();
} catch(\Exception $e) { } catch(\Exception $e) {
return $this->errorResponse(array( return $this->errorResponse(array(

View File

@ -1,4 +1,5 @@
<?php <?php
use Helper\WordPressHooks as WPHooksHelper;
use MailPoet\API\Response as APIResponse; use MailPoet\API\Response as APIResponse;
use MailPoet\API\Endpoints\Setup; use MailPoet\API\Endpoints\Setup;
use MailPoet\Models\Setting; use MailPoet\Models\Setting;
@ -9,15 +10,21 @@ class SetupTest extends MailPoetTest {
} }
function testItCanReinstall() { function testItCanReinstall() {
WPHooksHelper::interceptDoAction();
$router = new Setup(); $router = new Setup();
$response = $router->reset(); $response = $router->reset();
expect($response->status)->equals(APIResponse::STATUS_OK); expect($response->status)->equals(APIResponse::STATUS_OK);
$signup_confirmation = Setting::getValue('signup_confirmation.enabled'); $signup_confirmation = Setting::getValue('signup_confirmation.enabled');
expect($signup_confirmation)->true(); expect($signup_confirmation)->true();
$hook_name = 'mailpoet_setup_reset';
expect(WPHooksHelper::isActionDone($hook_name))->true();
} }
function _after() { function _after() {
WPHooksHelper::releaseAllHooks();
Setting::deleteMany(); Setting::deleteMany();
} }
} }

View File

@ -63,8 +63,8 @@ class LinksTest extends MailPoetTest {
list($updated_content, $replaced_links) = list($updated_content, $replaced_links) =
Links::replace($template, $extracted_links, $processed_links); Links::replace($template, $extracted_links, $processed_links);
// 1 links was replaced expect($extracted_links)->count(2);
expect(count($replaced_links))->equals(1); expect($replaced_links)->count(1);
// links in returned content were replaced with hashes // links in returned content were replaced with hashes
expect($updated_content) expect($updated_content)
->contains('replace by this'); ->contains('replace by this');
@ -200,4 +200,4 @@ class LinksTest extends MailPoetTest {
ORM::raw_execute('TRUNCATE ' . SendingQueue::$_table); ORM::raw_execute('TRUNCATE ' . SendingQueue::$_table);
ORM::raw_execute('TRUNCATE ' . NewsletterLink::$_table); ORM::raw_execute('TRUNCATE ' . NewsletterLink::$_table);
} }
} }