Fix DaemonTest for rewritten Daemon
[MAILPOET-2017]
This commit is contained in:
@@ -1,10 +1,11 @@
|
||||
<?php
|
||||
namespace MailPoet\Test\Cron;
|
||||
|
||||
use Codeception\Stub;
|
||||
use Codeception\Stub\Expected;
|
||||
use MailPoet\Cron\CronHelper;
|
||||
use MailPoet\Cron\Daemon;
|
||||
use MailPoet\Cron\Workers\SimpleWorker;
|
||||
use MailPoet\Cron\Workers\WorkersFactory;
|
||||
use MailPoet\Models\Setting;
|
||||
use MailPoet\Settings\SettingsController;
|
||||
|
||||
@@ -20,27 +21,36 @@ class DaemonTest extends \MailPoetTest {
|
||||
}
|
||||
|
||||
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),
|
||||
'executeExportFilesCleanupWorker' => Expected::exactly(1),
|
||||
'executeInactiveSubscribersWorker' => Expected::exactly(1),
|
||||
'executeWooCommerceSyncWorker' => Expected::exactly(1),
|
||||
), $this);
|
||||
$data = array(
|
||||
'token' => 123
|
||||
);
|
||||
$this->settings->set(CronHelper::DAEMON_SETTING, $data);
|
||||
$daemon = new Daemon($this->settings, $this->createWorkersFactoryMock());
|
||||
$daemon->run($data);
|
||||
}
|
||||
|
||||
function _after() {
|
||||
\ORM::raw_execute('TRUNCATE ' . Setting::$_table);
|
||||
}
|
||||
|
||||
private function createWorkersFactoryMock(array $workers = []) {
|
||||
return $this->make(WorkersFactory::class, $workers + [
|
||||
'createScheduleWorker' => $this->createSimpleWorkerMock(),
|
||||
'createQueueWorker' => $this->createSimpleWorkerMock(),
|
||||
'createStatsNotificationsWorker' => $this->createSimpleWorkerMock(),
|
||||
'createSendingServiceKeyCheckWorker' => $this->createSimpleWorkerMock(),
|
||||
'createPremiumKeyCheckWorker' => $this->createSimpleWorkerMock(),
|
||||
'createBounceWorker' => $this->createSimpleWorkerMock(),
|
||||
'createMigrationWorker' => $this->createSimpleWorkerMock(),
|
||||
'createWooCommerceSyncWorker' => $this->createSimpleWorkerMock(),
|
||||
'createExportFilesCleanupWorker' => $this->createSimpleWorkerMock(),
|
||||
'createInactiveSubscribersWorker' => $this->createSimpleWorkerMock(),
|
||||
]);
|
||||
}
|
||||
|
||||
private function createSimpleWorkerMock() {
|
||||
return $this->makeEmpty(SimpleWorker::class, [
|
||||
'process' => Expected::once(),
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user