Beispiel #1
0
 /**
  * Test method for enable and disable jobs by using the setter methods
  *
  * @covers \Liebig\Cron\Cron::setEnableJob
  * @covers \Liebig\Cron\Cron::setDisableJob
  * @covers \Liebig\Cron\Cron::isJobEnabled
  */
 public function testEnableDisableJobsBySetter()
 {
     $iTest1 = 0;
     $iTest2 = 0;
     $iTest3 = 0;
     Cron::add('test1', '* * * * *', function () use(&$iTest1) {
         $iTest1++;
         return false;
     }, true);
     Cron::add('test2', '* * * * *', function () use(&$iTest2) {
         $iTest2++;
         return false;
     }, true);
     Cron::add('test3', '* * * * *', function () use(&$iTest3) {
         $iTest3++;
         return false;
     }, false);
     $this->assertEquals(true, Cron::isJobEnabled('test1'));
     $this->assertEquals(true, Cron::isJobEnabled('test2'));
     $this->assertEquals(false, Cron::isJobEnabled('test3'));
     $this->assertEquals(null, Cron::isJobEnabled('test4'));
     Cron::run();
     $this->assertEquals(1, $iTest1);
     $this->assertEquals(1, $iTest2);
     $this->assertEquals(0, $iTest3);
     $this->assertEquals(1, \Liebig\Cron\Models\Manager::count());
     $this->assertEquals(2, \Liebig\Cron\Models\Job::count());
     $this->assertEquals(true, Cron::setEnableJob('test3'));
     $this->assertEquals(true, Cron::isJobEnabled('test1'));
     $this->assertEquals(true, Cron::isJobEnabled('test2'));
     $this->assertEquals(true, Cron::isJobEnabled('test3'));
     $this->assertEquals(null, Cron::isJobEnabled('test4'));
     Cron::run();
     $this->assertEquals(2, $iTest1);
     $this->assertEquals(2, $iTest2);
     $this->assertEquals(1, $iTest3);
     $this->assertEquals(2, \Liebig\Cron\Models\Manager::count());
     $this->assertEquals(5, \Liebig\Cron\Models\Job::count());
     $this->assertEquals(true, Cron::setDisableJob('test1'));
     $this->assertEquals(true, Cron::setDisableJob('test3'));
     $this->assertEquals(false, Cron::setDisableJob('noSuchJob'));
     $this->assertEquals(false, Cron::isJobEnabled('test1'));
     $this->assertEquals(true, Cron::isJobEnabled('test2'));
     $this->assertEquals(false, Cron::isJobEnabled('test3'));
     $this->assertEquals(null, Cron::isJobEnabled('test4'));
     Cron::run();
     $this->assertEquals(2, $iTest1);
     $this->assertEquals(3, $iTest2);
     $this->assertEquals(1, $iTest3);
     $this->assertEquals(3, \Liebig\Cron\Models\Manager::count());
     $this->assertEquals(6, \Liebig\Cron\Models\Job::count());
     $this->assertEquals(true, Cron::setEnableJob('test2', false));
     $this->assertEquals(false, Cron::isJobEnabled('test1'));
     $this->assertEquals(false, Cron::isJobEnabled('test2'));
     $this->assertEquals(false, Cron::isJobEnabled('test3'));
     $this->assertEquals(null, Cron::isJobEnabled('test4'));
     Cron::run();
     $this->assertEquals(2, $iTest1);
     $this->assertEquals(3, $iTest2);
     $this->assertEquals(1, $iTest3);
     $this->assertEquals(4, \Liebig\Cron\Models\Manager::count());
     $this->assertEquals(6, \Liebig\Cron\Models\Job::count());
     $this->assertEquals(true, Cron::setEnableJob('test1', true));
     $this->assertEquals(true, Cron::isJobEnabled('test1'));
     $this->assertEquals(false, Cron::isJobEnabled('test2'));
     $this->assertEquals(false, Cron::isJobEnabled('test3'));
     $this->assertEquals(null, Cron::isJobEnabled('test4'));
     Cron::run();
     $this->assertEquals(3, $iTest1);
     $this->assertEquals(3, $iTest2);
     $this->assertEquals(1, $iTest3);
     $this->assertEquals(5, \Liebig\Cron\Models\Manager::count());
     $this->assertEquals(7, \Liebig\Cron\Models\Job::count());
 }