Add cron worker for authorized emails check
[MAILPOET-1987]
This commit is contained in:
committed by
M. Shull
parent
cf7c5475c3
commit
cab9324f2c
31
lib/Cron/Workers/AuthorizedSendingEmailsCheck.php
Normal file
31
lib/Cron/Workers/AuthorizedSendingEmailsCheck.php
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
<?php
|
||||||
|
namespace MailPoet\Cron\Workers;
|
||||||
|
|
||||||
|
use MailPoet\Cron\CronHelper;
|
||||||
|
use MailPoet\Models\ScheduledTask;
|
||||||
|
use MailPoet\Services\Bridge;
|
||||||
|
use MailPoet\Settings\SettingsController;
|
||||||
|
use MailPoet\Subscribers\InactiveSubscribersController;
|
||||||
|
|
||||||
|
if (!defined('ABSPATH')) exit;
|
||||||
|
|
||||||
|
class AuthorizedSendingEmailsCheck extends SimpleWorker {
|
||||||
|
const TASK_TYPE = 'authorized_email_addresses_check';
|
||||||
|
|
||||||
|
/** @var Bridge */
|
||||||
|
private $bridge;
|
||||||
|
|
||||||
|
function __construct(Bridge $bridge, $timer = false) {
|
||||||
|
$this->bridge = $bridge;
|
||||||
|
parent::__construct($timer);
|
||||||
|
}
|
||||||
|
|
||||||
|
function checkProcessingRequirements() {
|
||||||
|
return Bridge::isMPSendingServiceEnabled();
|
||||||
|
}
|
||||||
|
|
||||||
|
function processTaskStrategy(ScheduledTask $task) {
|
||||||
|
$this->bridge->checkAuthorizedEmailAddresses();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,26 @@
|
|||||||
|
<?php
|
||||||
|
namespace MailPoet\Test\Cron\Workers;
|
||||||
|
|
||||||
|
use Codeception\Stub;
|
||||||
|
use MailPoet\Cron\Workers\AuthorizedSendingEmailsCheck;
|
||||||
|
use MailPoet\Models\ScheduledTask;
|
||||||
|
use MailPoet\Services\Bridge;
|
||||||
|
use MailPoet\Settings\SettingsController;
|
||||||
|
|
||||||
|
class AuthorizedSendingEmailsCheckTest extends \MailPoetTest {
|
||||||
|
|
||||||
|
/** @var SettingsController */
|
||||||
|
private $settings;
|
||||||
|
|
||||||
|
function _before() {
|
||||||
|
parent::_before();
|
||||||
|
$this->settings = new SettingsController();
|
||||||
|
\ORM::raw_execute('TRUNCATE ' . ScheduledTask::$_table);
|
||||||
|
}
|
||||||
|
|
||||||
|
function testItRunsCheckOnBridge() {
|
||||||
|
$bridge_mock = $this->makeEmpty(Bridge::class, ['checkAuthorizedEmailAddresses' => Stub\Expected::once()]);
|
||||||
|
$worker = new AuthorizedSendingEmailsCheck($bridge_mock);
|
||||||
|
$worker->processTaskStrategy(ScheduledTask::createOrUpdate([]));
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user