/** * 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()); }
}); /* |-------------------------------------------------------------------------- | Require The Filters File |-------------------------------------------------------------------------- | | Next we will load the filters file for the application. This gives us | a nice separate location to store our route and application filter | definitions instead of putting them all in the main routes file. | */ require app_path() . '/filters.php'; /* |-------------------------------------------------------------------------- | Lieberg Cron Jobs |-------------------------------------------------------------------------- | this will help us excute all our cron job functions | | | | */ Event::listen('cron.collectJobs', function () { Cron::add('update', '* * * * *', function () { // Do some crazy things unsuccessfully every minute $orders = Order::where('activity', '=', '0')->delete(); return true; }); Cron::setEnableJob('update'); $report = Cron::run(); });