You are here

function RulesUnitTest::testRules5MinuteRange in Ultimate Cron 8.2

File

tests/src/Unit/RulesUnitTest.php, line 577

Class

RulesUnitTest
Tests Drupal\ultimate_cron\CronRule.

Namespace

Drupal\Tests\ultimate_cron\Unit

Code

function testRules5MinuteRange() {

  // Test a 5 minute range
  $result = $this
    ->assertRule(array(
    'result' => FALSE,
    'rules' => '10-15 12 * * *',
    'last_run' => '2008-01-03 12:00:00',
    'now' => '2008-01-03 12:09:00',
    'catch_up' => 1,
  ));
  $this
    ->assertTrue($result[0], $result[1]);
  $result = $this
    ->assertRule(array(
    'result' => True,
    'rules' => '10-15 12 * * *',
    'last_run' => '2008-01-03 12:00:00',
    'now' => '2008-01-03 12:10:00',
    'catch_up' => 1,
  ));
  $this
    ->assertTrue($result[0], $result[1]);
  $result = $this
    ->assertRule(array(
    'result' => True,
    'rules' => '10-15 12 * * *',
    'last_run' => '2008-01-03 12:00:00',
    'now' => '2008-01-03 12:11:00',
    'catch_up' => 1,
  ));
  $this
    ->assertTrue($result[0], $result[1]);
  $result = $this
    ->assertRule(array(
    'result' => True,
    'rules' => '10-15 12 * * *',
    'last_run' => '2008-01-03 12:00:00',
    'now' => '2008-01-03 12:12:00',
    'catch_up' => 1,
  ));
  $this
    ->assertTrue($result[0], $result[1]);
  $result = $this
    ->assertRule(array(
    'result' => True,
    'rules' => '10-15 12 * * *',
    'last_run' => '2008-01-03 12:00:00',
    'now' => '2008-01-03 12:13:00',
    'catch_up' => 1,
  ));
  $this
    ->assertTrue($result[0], $result[1]);
  $result = $this
    ->assertRule(array(
    'result' => True,
    'rules' => '10-15 12 * * *',
    'last_run' => '2008-01-03 12:00:00',
    'now' => '2008-01-03 12:14:00',
    'catch_up' => 1,
  ));
  $this
    ->assertTrue($result[0], $result[1]);
  $result = $this
    ->assertRule(array(
    'result' => True,
    'rules' => '10-15 12 * * *',
    'last_run' => '2008-01-03 12:00:00',
    'now' => '2008-01-03 12:15:00',
    'catch_up' => 1,
  ));
  $this
    ->assertTrue($result[0], $result[1]);

  // This should not run, as it last ran one minute ago
  $result = $this
    ->assertRule(array(
    'result' => FALSE,
    'rules' => '10-15 12 * * *',
    'last_run' => '2008-01-03 12:15:00',
    'now' => '2008-01-03 12:16:00',
  ));
  $this
    ->assertTrue($result[0], $result[1]);

  // This should run, as catch_up defaults to 1 year and it last ran 16 minutes ago.
  $result = $this
    ->assertRule(array(
    'result' => True,
    'rules' => '10-15 12 * * *',
    'last_run' => '2008-01-03 12:00:00',
    'now' => '2008-01-03 12:16:00',
  ));
  $this
    ->assertTrue($result[0], $result[1]);
}