Files
ultimatemember/tests/phpunit/jobs/ActionScheduler_Action_Test.php
T
Yurii Nalivaiko 797bc2fd98 Squashed 'includes/lib/action-scheduler/' content from commit c82834771
git-subtree-dir: includes/lib/action-scheduler
git-subtree-split: c828347715e6c3318c8ab8b4fea2d87b31d51aac
2024-09-03 12:28:53 +02:00

55 lines
1.9 KiB
PHP

<?php
/**
* Class ActionScheduler_Action_Test
* @group actions
*/
class ActionScheduler_Action_Test extends ActionScheduler_UnitTestCase {
public function test_set_schedule() {
$time = as_get_datetime_object();
$schedule = new ActionScheduler_SimpleSchedule($time);
$action = new ActionScheduler_Action( ActionScheduler_Callbacks::HOOK_WITH_CALLBACK, array(), $schedule );
$this->assertEquals( $schedule, $action->get_schedule() );
}
public function test_null_schedule() {
$action = new ActionScheduler_Action( ActionScheduler_Callbacks::HOOK_WITH_CALLBACK );
$this->assertInstanceOf( 'ActionScheduler_NullSchedule', $action->get_schedule() );
}
public function test_set_hook() {
$action = new ActionScheduler_Action( ActionScheduler_Callbacks::HOOK_WITH_CALLBACK );
$this->assertEquals( ActionScheduler_Callbacks::HOOK_WITH_CALLBACK, $action->get_hook() );
}
public function test_args() {
$action = new ActionScheduler_Action( ActionScheduler_Callbacks::HOOK_WITH_CALLBACK );
$this->assertEmpty($action->get_args());
$action = new ActionScheduler_Action( ActionScheduler_Callbacks::HOOK_WITH_CALLBACK, array( 5, 10, 15 ) );
$this->assertEqualSets(array(5,10,15), $action->get_args());
}
public function test_set_group() {
$action = new ActionScheduler_Action( ActionScheduler_Callbacks::HOOK_WITH_CALLBACK, array(), NULL, 'my_group' );
$this->assertEquals('my_group', $action->get_group());
}
public function test_execute() {
$mock = new MockAction();
$random = md5(rand());
add_action( $random, array( $mock, 'action' ) );
$action = new ActionScheduler_Action( $random, array($random) );
$action->execute();
remove_action( $random, array( $mock, 'action' ) );
$this->assertEquals( 1, $mock->get_call_count() );
$events = $mock->get_events();
$event = reset($events);
$this->assertEquals( $random, reset($event['args']) );
}
}