Add cron worker for authorized emails check

[MAILPOET-1987]
This commit is contained in:
Rostislav Wolny
2019-05-10 10:13:05 +02:00
committed by M. Shull
parent cf7c5475c3
commit cab9324f2c
2 changed files with 57 additions and 0 deletions

View 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;
}
}

View File

@ -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([]));
}
}