Rename Daemon to DaemonHttpRunner
[MAILPOET-1538]
This commit is contained in:
@@ -83,12 +83,12 @@ class CronHelper {
|
|||||||
$result = self::queryCronUrl($url);
|
$result = self::queryCronUrl($url);
|
||||||
if(is_wp_error($result)) return $result->get_error_message();
|
if(is_wp_error($result)) return $result->get_error_message();
|
||||||
$response = WPFunctions::wpRemoteRetrieveBody($result);
|
$response = WPFunctions::wpRemoteRetrieveBody($result);
|
||||||
$response = substr(trim($response), -strlen(Daemon::PING_SUCCESS_RESPONSE)) === Daemon::PING_SUCCESS_RESPONSE ?
|
$response = substr(trim($response), -strlen(DaemonHttpRunner::PING_SUCCESS_RESPONSE)) === DaemonHttpRunner::PING_SUCCESS_RESPONSE ?
|
||||||
Daemon::PING_SUCCESS_RESPONSE :
|
DaemonHttpRunner::PING_SUCCESS_RESPONSE :
|
||||||
$response;
|
$response;
|
||||||
return (!$validate_response) ?
|
return (!$validate_response) ?
|
||||||
$response :
|
$response :
|
||||||
$response === Daemon::PING_SUCCESS_RESPONSE;
|
$response === DaemonHttpRunner::PING_SUCCESS_RESPONSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static function accessDaemon($token) {
|
static function accessDaemon($token) {
|
||||||
|
@@ -11,7 +11,7 @@ use MailPoet\Cron\Workers\KeyCheck\SendingServiceKeyCheck as SendingServiceKeyCh
|
|||||||
if(!defined('ABSPATH')) exit;
|
if(!defined('ABSPATH')) exit;
|
||||||
require_once(ABSPATH . 'wp-includes/pluggable.php');
|
require_once(ABSPATH . 'wp-includes/pluggable.php');
|
||||||
|
|
||||||
class Daemon {
|
class DaemonHttpRunner {
|
||||||
public $daemon;
|
public $daemon;
|
||||||
public $request_data;
|
public $request_data;
|
||||||
public $timer;
|
public $timer;
|
@@ -4,7 +4,7 @@ namespace MailPoet\Router\Endpoints;
|
|||||||
|
|
||||||
use MailPoet\Config\AccessControl;
|
use MailPoet\Config\AccessControl;
|
||||||
use MailPoet\Cron\CronHelper;
|
use MailPoet\Cron\CronHelper;
|
||||||
use MailPoet\Cron\Daemon;
|
use MailPoet\Cron\DaemonHttpRunner;
|
||||||
|
|
||||||
if(!defined('ABSPATH')) exit;
|
if(!defined('ABSPATH')) exit;
|
||||||
|
|
||||||
@@ -28,7 +28,7 @@ class CronDaemon {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function run() {
|
function run() {
|
||||||
$queue = new Daemon($this->data);
|
$queue = new DaemonHttpRunner($this->data);
|
||||||
$queue->run();
|
$queue->run();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -37,7 +37,7 @@ class CronDaemon {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function pingResponse() {
|
function pingResponse() {
|
||||||
$queue = new Daemon();
|
$queue = new DaemonHttpRunner();
|
||||||
$queue->ping();
|
$queue->ping();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -5,7 +5,7 @@ namespace MailPoet\Test\Cron;
|
|||||||
use AspectMock\Test as Mock;
|
use AspectMock\Test as Mock;
|
||||||
use Helper\WordPress as WPHelper;
|
use Helper\WordPress as WPHelper;
|
||||||
use MailPoet\Cron\CronHelper;
|
use MailPoet\Cron\CronHelper;
|
||||||
use MailPoet\Cron\Daemon;
|
use MailPoet\Cron\DaemonHttpRunner;
|
||||||
use MailPoet\Models\Setting;
|
use MailPoet\Models\Setting;
|
||||||
use MailPoet\WP\Hooks as WPHooks;
|
use MailPoet\WP\Hooks as WPHooks;
|
||||||
|
|
||||||
@@ -294,7 +294,7 @@ class CronHelperTest extends \MailPoetTest {
|
|||||||
function testItPingsDaemon() {
|
function testItPingsDaemon() {
|
||||||
if(getenv('WP_TEST_ENABLE_NETWORK_TESTS') !== 'true') return;
|
if(getenv('WP_TEST_ENABLE_NETWORK_TESTS') !== 'true') return;
|
||||||
// raw response is returned
|
// raw response is returned
|
||||||
expect(CronHelper::pingDaemon())->equals(Daemon::PING_SUCCESS_RESPONSE);
|
expect(CronHelper::pingDaemon())->equals(DaemonHttpRunner::PING_SUCCESS_RESPONSE);
|
||||||
// response is validated
|
// response is validated
|
||||||
expect(CronHelper::pingDaemon(true))->true();
|
expect(CronHelper::pingDaemon(true))->true();
|
||||||
}
|
}
|
||||||
|
@@ -4,16 +4,16 @@ namespace MailPoet\Test\Cron;
|
|||||||
use Codeception\Stub;
|
use Codeception\Stub;
|
||||||
use Codeception\Stub\Expected;
|
use Codeception\Stub\Expected;
|
||||||
use MailPoet\Cron\CronHelper;
|
use MailPoet\Cron\CronHelper;
|
||||||
use MailPoet\Cron\Daemon;
|
use MailPoet\Cron\DaemonHttpRunner;
|
||||||
use MailPoet\Models\Setting;
|
use MailPoet\Models\Setting;
|
||||||
|
|
||||||
class DaemonTest extends \MailPoetTest {
|
class DaemonHttpRunnerTest extends \MailPoetTest {
|
||||||
function testItConstructs() {
|
function testItConstructs() {
|
||||||
Setting::setValue(
|
Setting::setValue(
|
||||||
CronHelper::DAEMON_SETTING,
|
CronHelper::DAEMON_SETTING,
|
||||||
'daemon object'
|
'daemon object'
|
||||||
);
|
);
|
||||||
$daemon = new Daemon($request_data = 'request data');
|
$daemon = new DaemonHttpRunner($request_data = 'request data');
|
||||||
expect($daemon->daemon)->equals('daemon object');
|
expect($daemon->daemon)->equals('daemon object');
|
||||||
expect($daemon->request_data)->equals('request data');
|
expect($daemon->request_data)->equals('request data');
|
||||||
expect(strlen($daemon->timer))->greaterOrEquals(5);
|
expect(strlen($daemon->timer))->greaterOrEquals(5);
|
||||||
@@ -22,7 +22,7 @@ class DaemonTest extends \MailPoetTest {
|
|||||||
|
|
||||||
function testItDoesNotRunWithoutRequestData() {
|
function testItDoesNotRunWithoutRequestData() {
|
||||||
$daemon = Stub::construct(
|
$daemon = Stub::construct(
|
||||||
new Daemon(),
|
new DaemonHttpRunner(),
|
||||||
array(),
|
array(),
|
||||||
array(
|
array(
|
||||||
'abortWithError' => function($message) {
|
'abortWithError' => function($message) {
|
||||||
@@ -36,7 +36,7 @@ class DaemonTest extends \MailPoetTest {
|
|||||||
|
|
||||||
function testItDoesNotRunWhenDaemonIsNotFound() {
|
function testItDoesNotRunWhenDaemonIsNotFound() {
|
||||||
$daemon = Stub::construct(
|
$daemon = Stub::construct(
|
||||||
new Daemon(),
|
new DaemonHttpRunner(),
|
||||||
array(),
|
array(),
|
||||||
array(
|
array(
|
||||||
'abortWithError' => function($message) {
|
'abortWithError' => function($message) {
|
||||||
@@ -50,7 +50,7 @@ class DaemonTest extends \MailPoetTest {
|
|||||||
|
|
||||||
function testItDoesNotRunWhenThereIsInvalidOrMissingToken() {
|
function testItDoesNotRunWhenThereIsInvalidOrMissingToken() {
|
||||||
$daemon = Stub::construct(
|
$daemon = Stub::construct(
|
||||||
new Daemon(),
|
new DaemonHttpRunner(),
|
||||||
array(),
|
array(),
|
||||||
array(
|
array(
|
||||||
'abortWithError' => function($message) {
|
'abortWithError' => function($message) {
|
||||||
@@ -66,7 +66,7 @@ class DaemonTest extends \MailPoetTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function testItCanExecuteWorkers() {
|
function testItCanExecuteWorkers() {
|
||||||
$daemon = Stub::make(new Daemon(true), array(
|
$daemon = Stub::make(new DaemonHttpRunner(true), array(
|
||||||
'executeScheduleWorker' => Expected::exactly(1),
|
'executeScheduleWorker' => Expected::exactly(1),
|
||||||
'executeQueueWorker' => Expected::exactly(1),
|
'executeQueueWorker' => Expected::exactly(1),
|
||||||
'pauseExecution' => null,
|
'pauseExecution' => null,
|
||||||
@@ -81,7 +81,7 @@ class DaemonTest extends \MailPoetTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function testItStoresErrorMessageAndContinuesExecutionWhenWorkersThrowException() {
|
function testItStoresErrorMessageAndContinuesExecutionWhenWorkersThrowException() {
|
||||||
$daemon = Stub::make(new Daemon(true), array(
|
$daemon = Stub::make(new DaemonHttpRunner(true), array(
|
||||||
'executeScheduleWorker' => function() {
|
'executeScheduleWorker' => function() {
|
||||||
throw new \Exception('Message');
|
throw new \Exception('Message');
|
||||||
},
|
},
|
||||||
@@ -102,7 +102,7 @@ class DaemonTest extends \MailPoetTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function testItCanPauseExecution() {
|
function testItCanPauseExecution() {
|
||||||
$daemon = Stub::make(new Daemon(true), array(
|
$daemon = Stub::make(new DaemonHttpRunner(true), array(
|
||||||
'executeScheduleWorker' => null,
|
'executeScheduleWorker' => null,
|
||||||
'executeQueueWorker' => null,
|
'executeQueueWorker' => null,
|
||||||
'pauseExecution' => Expected::exactly(1, function($pause_delay) {
|
'pauseExecution' => Expected::exactly(1, function($pause_delay) {
|
||||||
@@ -121,7 +121,7 @@ class DaemonTest extends \MailPoetTest {
|
|||||||
|
|
||||||
|
|
||||||
function testItTerminatesExecutionWhenDaemonIsDeleted() {
|
function testItTerminatesExecutionWhenDaemonIsDeleted() {
|
||||||
$daemon = Stub::make(new Daemon(true), array(
|
$daemon = Stub::make(new DaemonHttpRunner(true), array(
|
||||||
'executeScheduleWorker' => function() {
|
'executeScheduleWorker' => function() {
|
||||||
Setting::deleteValue(CronHelper::DAEMON_SETTING);
|
Setting::deleteValue(CronHelper::DAEMON_SETTING);
|
||||||
},
|
},
|
||||||
@@ -138,7 +138,7 @@ class DaemonTest extends \MailPoetTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function testItTerminatesExecutionWhenDaemonTokenChangesAndKeepsChangedToken() {
|
function testItTerminatesExecutionWhenDaemonTokenChangesAndKeepsChangedToken() {
|
||||||
$daemon = Stub::make(new Daemon(true), array(
|
$daemon = Stub::make(new DaemonHttpRunner(true), array(
|
||||||
'executeScheduleWorker' => function() {
|
'executeScheduleWorker' => function() {
|
||||||
Setting::setValue(
|
Setting::setValue(
|
||||||
CronHelper::DAEMON_SETTING,
|
CronHelper::DAEMON_SETTING,
|
||||||
@@ -160,7 +160,7 @@ class DaemonTest extends \MailPoetTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function testItTerminatesExecutionWhenDaemonIsDeactivated() {
|
function testItTerminatesExecutionWhenDaemonIsDeactivated() {
|
||||||
$daemon = Stub::make(new Daemon(true), [
|
$daemon = Stub::make(new DaemonHttpRunner(true), [
|
||||||
'executeScheduleWorker' => null,
|
'executeScheduleWorker' => null,
|
||||||
'executeQueueWorker' => null,
|
'executeQueueWorker' => null,
|
||||||
'pauseExecution' => null,
|
'pauseExecution' => null,
|
||||||
@@ -176,7 +176,7 @@ class DaemonTest extends \MailPoetTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function testItUpdatesDaemonTokenDuringExecution() {
|
function testItUpdatesDaemonTokenDuringExecution() {
|
||||||
$daemon = Stub::make(new Daemon(true), array(
|
$daemon = Stub::make(new DaemonHttpRunner(true), array(
|
||||||
'executeScheduleWorker' => null,
|
'executeScheduleWorker' => null,
|
||||||
'executeQueueWorker' => null,
|
'executeQueueWorker' => null,
|
||||||
'pauseExecution' => null,
|
'pauseExecution' => null,
|
||||||
@@ -193,7 +193,7 @@ class DaemonTest extends \MailPoetTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function testItUpdatesTimestampsDuringExecution() {
|
function testItUpdatesTimestampsDuringExecution() {
|
||||||
$daemon = Stub::make(new Daemon(true), array(
|
$daemon = Stub::make(new DaemonHttpRunner(true), array(
|
||||||
'executeScheduleWorker' => function() {
|
'executeScheduleWorker' => function() {
|
||||||
sleep(2);
|
sleep(2);
|
||||||
},
|
},
|
||||||
@@ -218,7 +218,7 @@ class DaemonTest extends \MailPoetTest {
|
|||||||
function testItCanRun() {
|
function testItCanRun() {
|
||||||
ignore_user_abort(0);
|
ignore_user_abort(0);
|
||||||
expect(ignore_user_abort())->equals(0);
|
expect(ignore_user_abort())->equals(0);
|
||||||
$daemon = Stub::make(new Daemon(true), array(
|
$daemon = Stub::make(new DaemonHttpRunner(true), array(
|
||||||
'pauseExecution' => null,
|
'pauseExecution' => null,
|
||||||
// workers should be executed
|
// workers should be executed
|
||||||
'executeScheduleWorker' => Expected::exactly(1),
|
'executeScheduleWorker' => Expected::exactly(1),
|
||||||
@@ -236,7 +236,7 @@ class DaemonTest extends \MailPoetTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function testItRespondsToPingRequest() {
|
function testItRespondsToPingRequest() {
|
||||||
$daemon = Stub::make(new Daemon(true), array(
|
$daemon = Stub::make(new DaemonHttpRunner(true), array(
|
||||||
'terminateRequest' => Expected::exactly(1, function($message) {
|
'terminateRequest' => Expected::exactly(1, function($message) {
|
||||||
expect($message)->equals('pong');
|
expect($message)->equals('pong');
|
||||||
})
|
})
|
||||||
|
@@ -17,14 +17,18 @@ use MailPoet\Models\SubscriberCustomField;
|
|||||||
use MailPoet\Models\SubscriberSegment;
|
use MailPoet\Models\SubscriberSegment;
|
||||||
|
|
||||||
class SubscriberTest extends \MailPoetTest {
|
class SubscriberTest extends \MailPoetTest {
|
||||||
|
|
||||||
|
/** @var array */
|
||||||
|
private $test_data;
|
||||||
|
|
||||||
function _before() {
|
function _before() {
|
||||||
$this->data = array(
|
$this->test_data = array(
|
||||||
'first_name' => 'John',
|
'first_name' => 'John',
|
||||||
'last_name' => 'Mailer',
|
'last_name' => 'Mailer',
|
||||||
'email' => 'john@mailpoet.com'
|
'email' => 'john@mailpoet.com'
|
||||||
);
|
);
|
||||||
$this->subscriber = Subscriber::create();
|
$this->subscriber = Subscriber::create();
|
||||||
$this->subscriber->hydrate($this->data);
|
$this->subscriber->hydrate($this->test_data);
|
||||||
$this->saved = $this->subscriber->save();
|
$this->saved = $this->subscriber->save();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -35,26 +39,26 @@ class SubscriberTest extends \MailPoetTest {
|
|||||||
|
|
||||||
function testItHasFirstName() {
|
function testItHasFirstName() {
|
||||||
$subscriber =
|
$subscriber =
|
||||||
Subscriber::where('email', $this->data['email'])
|
Subscriber::where('email', $this->test_data['email'])
|
||||||
->findOne();
|
->findOne();
|
||||||
expect($subscriber->first_name)
|
expect($subscriber->first_name)
|
||||||
->equals($this->data['first_name']);
|
->equals($this->test_data['first_name']);
|
||||||
}
|
}
|
||||||
|
|
||||||
function testItHasLastName() {
|
function testItHasLastName() {
|
||||||
$subscriber =
|
$subscriber =
|
||||||
Subscriber::where('email', $this->data['email'])
|
Subscriber::where('email', $this->test_data['email'])
|
||||||
->findOne();
|
->findOne();
|
||||||
expect($subscriber->last_name)
|
expect($subscriber->last_name)
|
||||||
->equals($this->data['last_name']);
|
->equals($this->test_data['last_name']);
|
||||||
}
|
}
|
||||||
|
|
||||||
function testItHasEmail() {
|
function testItHasEmail() {
|
||||||
$subscriber =
|
$subscriber =
|
||||||
Subscriber::where('email', $this->data['email'])
|
Subscriber::where('email', $this->test_data['email'])
|
||||||
->findOne();
|
->findOne();
|
||||||
expect($subscriber->email)
|
expect($subscriber->email)
|
||||||
->equals($this->data['email']);
|
->equals($this->test_data['email']);
|
||||||
}
|
}
|
||||||
|
|
||||||
function testItShouldSetErrors() {
|
function testItShouldSetErrors() {
|
||||||
@@ -92,26 +96,26 @@ class SubscriberTest extends \MailPoetTest {
|
|||||||
|
|
||||||
function emailMustBeUnique() {
|
function emailMustBeUnique() {
|
||||||
$conflict_subscriber = Subscriber::create();
|
$conflict_subscriber = Subscriber::create();
|
||||||
$conflict_subscriber->hydrate($this->data);
|
$conflict_subscriber->hydrate($this->test_data);
|
||||||
$saved = $conflict_subscriber->save();
|
$saved = $conflict_subscriber->save();
|
||||||
expect($saved)->notEquals(true);
|
expect($saved)->notEquals(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
function testItHasStatusDefaultStatusOfUnconfirmed() {
|
function testItHasStatusDefaultStatusOfUnconfirmed() {
|
||||||
$subscriber =
|
$subscriber =
|
||||||
Subscriber::where('email', $this->data['email'])
|
Subscriber::where('email', $this->test_data['email'])
|
||||||
->findOne();
|
->findOne();
|
||||||
expect($subscriber->status)->equals(Subscriber::STATUS_UNCONFIRMED);
|
expect($subscriber->status)->equals(Subscriber::STATUS_UNCONFIRMED);
|
||||||
}
|
}
|
||||||
|
|
||||||
function testItCanChangeStatus() {
|
function testItCanChangeStatus() {
|
||||||
$subscriber = Subscriber::where('email', $this->data['email'])->findOne();
|
$subscriber = Subscriber::where('email', $this->test_data['email'])->findOne();
|
||||||
$subscriber->status = Subscriber::STATUS_SUBSCRIBED;
|
$subscriber->status = Subscriber::STATUS_SUBSCRIBED;
|
||||||
$subscriber->save();
|
$subscriber->save();
|
||||||
|
|
||||||
expect($subscriber->id() > 0)->true();
|
expect($subscriber->id() > 0)->true();
|
||||||
expect($subscriber->getErrors())->false();
|
expect($subscriber->getErrors())->false();
|
||||||
$subscriber_updated = Subscriber::where('email', $this->data['email'])
|
$subscriber_updated = Subscriber::where('email', $this->test_data['email'])
|
||||||
->findOne();
|
->findOne();
|
||||||
expect($subscriber_updated->status)->equals(Subscriber::STATUS_SUBSCRIBED);
|
expect($subscriber_updated->status)->equals(Subscriber::STATUS_SUBSCRIBED);
|
||||||
}
|
}
|
||||||
@@ -119,13 +123,13 @@ class SubscriberTest extends \MailPoetTest {
|
|||||||
function testItHasSearchFilter() {
|
function testItHasSearchFilter() {
|
||||||
$subscriber = Subscriber::filter('search', 'john')
|
$subscriber = Subscriber::filter('search', 'john')
|
||||||
->findOne();
|
->findOne();
|
||||||
expect($subscriber->first_name)->equals($this->data['first_name']);
|
expect($subscriber->first_name)->equals($this->test_data['first_name']);
|
||||||
$subscriber = Subscriber::filter('search', 'mailer')
|
$subscriber = Subscriber::filter('search', 'mailer')
|
||||||
->findOne();
|
->findOne();
|
||||||
expect($subscriber->last_name)->equals($this->data['last_name']);
|
expect($subscriber->last_name)->equals($this->test_data['last_name']);
|
||||||
$subscriber = Subscriber::filter('search', 'mailpoet')
|
$subscriber = Subscriber::filter('search', 'mailpoet')
|
||||||
->findOne();
|
->findOne();
|
||||||
expect($subscriber->email)->equals($this->data['email']);
|
expect($subscriber->email)->equals($this->test_data['email']);
|
||||||
}
|
}
|
||||||
|
|
||||||
function testItHasGroupFilter() {
|
function testItHasGroupFilter() {
|
||||||
@@ -425,15 +429,15 @@ class SubscriberTest extends \MailPoetTest {
|
|||||||
$segment2->save();
|
$segment2->save();
|
||||||
|
|
||||||
$subscriber = Subscriber::subscribe(
|
$subscriber = Subscriber::subscribe(
|
||||||
$this->data,
|
$this->test_data,
|
||||||
array($segment->id(), $segment2->id())
|
array($segment->id(), $segment2->id())
|
||||||
);
|
);
|
||||||
|
|
||||||
expect($subscriber->id() > 0)->equals(true);
|
expect($subscriber->id() > 0)->equals(true);
|
||||||
expect($subscriber->segments()->count())->equals(2);
|
expect($subscriber->segments()->count())->equals(2);
|
||||||
expect($subscriber->email)->equals($this->data['email']);
|
expect($subscriber->email)->equals($this->test_data['email']);
|
||||||
expect($subscriber->first_name)->equals($this->data['first_name']);
|
expect($subscriber->first_name)->equals($this->test_data['first_name']);
|
||||||
expect($subscriber->last_name)->equals($this->data['last_name']);
|
expect($subscriber->last_name)->equals($this->test_data['last_name']);
|
||||||
// signup confirmation is enabled by default
|
// signup confirmation is enabled by default
|
||||||
expect($subscriber->status)->equals(Subscriber::STATUS_UNCONFIRMED);
|
expect($subscriber->status)->equals(Subscriber::STATUS_UNCONFIRMED);
|
||||||
expect($subscriber->deleted_at)->equals(null);
|
expect($subscriber->deleted_at)->equals(null);
|
||||||
@@ -477,7 +481,7 @@ class SubscriberTest extends \MailPoetTest {
|
|||||||
$signup_confirmation_enabled = (bool)Setting::setValue(
|
$signup_confirmation_enabled = (bool)Setting::setValue(
|
||||||
'signup_confirmation.enabled', false
|
'signup_confirmation.enabled', false
|
||||||
);
|
);
|
||||||
$subscriber = Subscriber::subscribe($this->data, array($segment->id()));
|
$subscriber = Subscriber::subscribe($this->test_data, array($segment->id()));
|
||||||
expect($subscriber->id() > 0)->equals(true);
|
expect($subscriber->id() > 0)->equals(true);
|
||||||
expect($subscriber->segments()->count())->equals(1);
|
expect($subscriber->segments()->count())->equals(1);
|
||||||
$scheduled_notification = SendingQueue::findTaskByNewsletterId($newsletter->id)
|
$scheduled_notification = SendingQueue::findTaskByNewsletterId($newsletter->id)
|
||||||
@@ -524,7 +528,7 @@ class SubscriberTest extends \MailPoetTest {
|
|||||||
$signup_confirmation_enabled = (bool)Setting::setValue(
|
$signup_confirmation_enabled = (bool)Setting::setValue(
|
||||||
'signup_confirmation.enabled', true
|
'signup_confirmation.enabled', true
|
||||||
);
|
);
|
||||||
$subscriber = Subscriber::subscribe($this->data, array($segment->id()));
|
$subscriber = Subscriber::subscribe($this->test_data, array($segment->id()));
|
||||||
expect($subscriber->id() > 0)->equals(true);
|
expect($subscriber->id() > 0)->equals(true);
|
||||||
expect($subscriber->segments()->count())->equals(1);
|
expect($subscriber->segments()->count())->equals(1);
|
||||||
$scheduled_notification = SendingQueue::findTaskByNewsletterId($newsletter->id)
|
$scheduled_notification = SendingQueue::findTaskByNewsletterId($newsletter->id)
|
||||||
@@ -687,7 +691,7 @@ class SubscriberTest extends \MailPoetTest {
|
|||||||
|
|
||||||
function testItCanBeUpdatedByEmail() {
|
function testItCanBeUpdatedByEmail() {
|
||||||
$subscriber_updated = Subscriber::createOrUpdate(array(
|
$subscriber_updated = Subscriber::createOrUpdate(array(
|
||||||
'email' => $this->data['email'],
|
'email' => $this->test_data['email'],
|
||||||
'first_name' => 'JoJo',
|
'first_name' => 'JoJo',
|
||||||
'last_name' => 'DoDo'
|
'last_name' => 'DoDo'
|
||||||
));
|
));
|
||||||
@@ -695,7 +699,7 @@ class SubscriberTest extends \MailPoetTest {
|
|||||||
expect($this->subscriber->id())->equals($subscriber_updated->id());
|
expect($this->subscriber->id())->equals($subscriber_updated->id());
|
||||||
|
|
||||||
$subscriber = Subscriber::findOne($this->subscriber->id());
|
$subscriber = Subscriber::findOne($this->subscriber->id());
|
||||||
expect($subscriber->email)->equals($this->data['email']);
|
expect($subscriber->email)->equals($this->test_data['email']);
|
||||||
expect($subscriber->first_name)->equals('JoJo');
|
expect($subscriber->first_name)->equals('JoJo');
|
||||||
expect($subscriber->last_name)->equals('DoDo');
|
expect($subscriber->last_name)->equals('DoDo');
|
||||||
}
|
}
|
||||||
@@ -877,20 +881,20 @@ class SubscriberTest extends \MailPoetTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function testItGeneratesSubscriberToken() {
|
function testItGeneratesSubscriberToken() {
|
||||||
$token = Subscriber::generateToken($this->data['email']);
|
$token = Subscriber::generateToken($this->test_data['email']);
|
||||||
expect(strlen($token))->equals(Subscriber::SUBSCRIBER_TOKEN_LENGTH);
|
expect(strlen($token))->equals(Subscriber::SUBSCRIBER_TOKEN_LENGTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
function testItVerifiesSubscriberToken() {
|
function testItVerifiesSubscriberToken() {
|
||||||
$token = Subscriber::generateToken($this->data['email']);
|
$token = Subscriber::generateToken($this->test_data['email']);
|
||||||
expect(Subscriber::verifyToken($this->data['email'], $token))->true();
|
expect(Subscriber::verifyToken($this->test_data['email'], $token))->true();
|
||||||
expect(Subscriber::verifyToken('fake@email.com', $token))->false();
|
expect(Subscriber::verifyToken('fake@email.com', $token))->false();
|
||||||
}
|
}
|
||||||
|
|
||||||
function testItVerifiesTokensOfDifferentLengths() {
|
function testItVerifiesTokensOfDifferentLengths() {
|
||||||
$token = md5(AUTH_KEY . $this->data['email']);
|
$token = md5(AUTH_KEY . $this->test_data['email']);
|
||||||
expect(strlen($token))->notEquals(Subscriber::SUBSCRIBER_TOKEN_LENGTH);
|
expect(strlen($token))->notEquals(Subscriber::SUBSCRIBER_TOKEN_LENGTH);
|
||||||
expect(Subscriber::verifyToken($this->data['email'], $token))->true();
|
expect(Subscriber::verifyToken($this->test_data['email'], $token))->true();
|
||||||
}
|
}
|
||||||
|
|
||||||
function testItBulkDeletesSubscribers() {
|
function testItBulkDeletesSubscribers() {
|
||||||
@@ -1079,15 +1083,15 @@ class SubscriberTest extends \MailPoetTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function testItDoesNotSetDefaultValuesForExistingSubscribers() {
|
function testItDoesNotSetDefaultValuesForExistingSubscribers() {
|
||||||
$existing_subscriber_data = $this->data;
|
$existing_subscriber_data = $this->test_data;
|
||||||
$result = Subscriber::createOrUpdate(
|
$result = Subscriber::createOrUpdate(
|
||||||
array(
|
array(
|
||||||
'email' => $existing_subscriber_data['email']
|
'email' => $existing_subscriber_data['email']
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
expect($result->getErrors())->false();
|
expect($result->getErrors())->false();
|
||||||
expect($result->first_name)->equals($this->data['first_name']);
|
expect($result->first_name)->equals($this->test_data['first_name']);
|
||||||
expect($result->last_name)->equals($this->data['last_name']);
|
expect($result->last_name)->equals($this->test_data['last_name']);
|
||||||
}
|
}
|
||||||
|
|
||||||
function testItExtractsCustomFieldsFromObject() {
|
function testItExtractsCustomFieldsFromObject() {
|
||||||
|
@@ -7,6 +7,7 @@ use MailPoet\Models\Subscriber;
|
|||||||
use MailPoet\Util\License\Features\Subscribers as SubscribersFeature;
|
use MailPoet\Util\License\Features\Subscribers as SubscribersFeature;
|
||||||
|
|
||||||
class SubscribersTest extends \MailPoetTest {
|
class SubscribersTest extends \MailPoetTest {
|
||||||
|
|
||||||
function testChecksIfSubscribersWithinLimitWhenPremiumLicenseDoesNotExist() {
|
function testChecksIfSubscribersWithinLimitWhenPremiumLicenseDoesNotExist() {
|
||||||
// if premium unlocker plugin is enabled, skip this check
|
// if premium unlocker plugin is enabled, skip this check
|
||||||
if(defined('MAILPOET_PREMIUM_LICENSE')) return;
|
if(defined('MAILPOET_PREMIUM_LICENSE')) return;
|
||||||
@@ -34,4 +35,5 @@ class SubscribersTest extends \MailPoetTest {
|
|||||||
function _after() {
|
function _after() {
|
||||||
\ORM::raw_execute('TRUNCATE ' . Subscriber::$_table);
|
\ORM::raw_execute('TRUNCATE ' . Subscriber::$_table);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user