Files
piratepoet/tests/integration/Cron/DaemonTest.php
2019-02-21 09:51:53 -05:00

60 lines
1.7 KiB
PHP

<?php
namespace MailPoet\Test\Cron;
use Codeception\Stub;
use Codeception\Stub\Expected;
use MailPoet\Cron\CronHelper;
use MailPoet\Cron\Daemon;
use MailPoet\Models\Setting;
use MailPoet\Settings\SettingsController;
class DaemonTest extends \MailPoetTest {
/** @var SettingsController */
private $settings;
public function _before() {
parent::_before();
$this->settings = new SettingsController();
}
function testItCanExecuteWorkers() {
$daemon = Stub::make(Daemon::class, array(
'executeScheduleWorker' => Expected::exactly(1),
'executeQueueWorker' => Expected::exactly(1),
'executeMigrationWorker' => null,
'executeStatsNotificationsWorker' => null,
'executeSendingServiceKeyCheckWorker' => null,
'executePremiumKeyCheckWorker' => null,
'executeBounceWorker' => null,
), $this);
$data = array(
'token' => 123
);
$this->settings->set(CronHelper::DAEMON_SETTING, $data);
$daemon->run([]);
}
function testItCanRun() {
$daemon = Stub::make(Daemon::class, array(
// workers should be executed
'executeScheduleWorker' => Expected::exactly(1),
'executeQueueWorker' => Expected::exactly(1),
'executeMigrationWorker' => Expected::exactly(1),
'executeStatsNotificationsWorker' => Expected::exactly(1),
'executeSendingServiceKeyCheckWorker' => Expected::exactly(1),
'executePremiumKeyCheckWorker' => Expected::exactly(1),
'executeBounceWorker' => Expected::exactly(1)
), $this);
$data = array(
'token' => 123
);
$this->settings->set(CronHelper::DAEMON_SETTING, $data);
$daemon->run($data);
}
function _after() {
\ORM::raw_execute('TRUNCATE ' . Setting::$_table);
}
}