This commit is contained in:
Dennis Eichhorn 2018-08-02 18:45:36 +02:00
parent e61c1fb5dd
commit ed3fc48e34
2 changed files with 45 additions and 0 deletions

View File

@ -182,6 +182,28 @@ abstract class SchedulerAbstract
$this->run($task->getCommand());
}
/**
* Update task
*
* @param TaskAbstract $task Task to update
*
* @return void
*
* @since 1.0.0
*/
abstract public function update(TaskAbstract $task) : void;
/**
* Delete task
*
* @param TaskAbstract $task Task to delete
*
* @return void
*
* @since 1.0.0
*/
abstract public function delete(TaskAbstract $task) : void;
/**
* Normalize run result for easier parsing
*

View File

@ -14,6 +14,7 @@
namespace phpOMS\tests\Utils\TaskSchedule;
use phpOMS\Utils\TaskSchedule\Cron;
use phpOMS\Utils\TaskSchedule\CronJob;
class CronTest extends \PHPUnit\Framework\TestCase
{
@ -21,4 +22,26 @@ class CronTest extends \PHPUnit\Framework\TestCase
{
self::assertInstanceOf('\phpOMS\Utils\TaskSchedule\SchedulerAbstract', new Cron());
}
public function testCRUD()
{
$cron = new Cron();
self::assertInstanceOf('\phpOMS\Utils\TaskSchedule\NullCronJob', $cron->getAllByName('testCronJob', false));
$cron->create(
new CronJob('testCronJob', 'testFile')
);
self::assertEquals('testFile', $cron->getRun());
$cron->update(
new CronJob('testCronJob', 'testFile2')
);
self::assertEquals('testFile2', $cron->getRun());
$cron->delete(
new CronJob('testCronJob', 'testFile2')
);
self::assertInstanceOf('\phpOMS\Utils\TaskSchedule\NullCronJob', $cron->getAllByName('testCronJob', false));
}
}