aboutsummaryrefslogtreecommitdiffstats
path: root/tests/cron/manager_test.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/cron/manager_test.php')
-rw-r--r--tests/cron/manager_test.php32
1 files changed, 24 insertions, 8 deletions
diff --git a/tests/cron/manager_test.php b/tests/cron/manager_test.php
index 39e052bd57..c282a802b2 100644
--- a/tests/cron/manager_test.php
+++ b/tests/cron/manager_test.php
@@ -7,40 +7,56 @@
*
*/
+require_once __DIR__ . '/../mock/cache.php';
+require_once __DIR__ . '/task/testmod/dummy_task.php';
+require_once __DIR__ . '/task/testmod/second_dummy_task.php';
+
class phpbb_cron_manager_test extends PHPUnit_Framework_TestCase
{
public function setUp()
{
- $this->manager = new phpbb_cron_manager(__DIR__ . '/../../phpBB/', 'php');
+ $this->manager = new phpbb_cron_manager(__DIR__ . '/task/', 'php');
+ $this->task_name = 'phpbb_cron_task_testmod_dummy_task';
}
public function test_manager_finds_shipped_tasks()
{
$tasks = $this->manager->find_cron_task_names();
- $this->assertGreaterThan(1, count($tasks));
+ $this->assertEquals(2, sizeof($tasks));
}
public function test_manager_finds_shipped_task_by_name()
{
- $task = $this->manager->find_task('phpbb_cron_task_core_queue');
- $this->assertNotNull($task);
+ $task = $this->manager->find_task($this->task_name);
+ $this->assertInstanceOf('phpbb_cron_task_wrapper', $task);
+ $this->assertEquals($this->task_name, $task->get_name());
}
public function test_manager_instantiates_task_by_name()
{
- $task = $this->manager->instantiate_task('phpbb_cron_task_core_queue', array());
- $this->assertNotNull($task);
+ $task = $this->manager->instantiate_task($this->task_name, array());
+ $this->assertInstanceOf('phpbb_cron_task_wrapper', $task);
+ $this->assertEquals($this->task_name, $task->get_name());
}
public function test_manager_finds_all_ready_tasks()
{
$tasks = $this->manager->find_all_ready_tasks();
- $this->assertGreaterThan(0, count($tasks));
+ $this->assertEquals(2, sizeof($tasks));
}
public function test_manager_finds_one_ready_task()
{
$task = $this->manager->find_one_ready_task();
- $this->assertNotNull($task);
+ $this->assertInstanceOf('phpbb_cron_task_wrapper', $task);
+ }
+
+ public function test_manager_finds_all_ready_tasks_cached()
+ {
+ $cache = new phpbb_mock_cache(array('_cron_tasks' => array($this->task_name)));
+ $manager = new phpbb_cron_manager(__DIR__ . '/../../phpBB/', 'php', $cache);
+
+ $tasks = $manager->find_all_ready_tasks();
+ $this->assertEquals(1, sizeof($tasks));
}
}