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