Пример #1
0
 /**
  * Test method for return values in database
  *
  * @covers \Liebig\Cron\Cron::run
  */
 public function testJobReturnValue()
 {
     $i = 0;
     Cron::setLogOnlyErrorJobsToDatabase(false);
     Cron::add('test1', '* * * * *', function () use(&$i) {
         $i++;
         return null;
     });
     Cron::add('test2', '* * * * *', function () use(&$i) {
         $i++;
         return true;
     });
     Cron::add('test3', '* * * * *', function () use(&$i) {
         $i++;
         return false;
     });
     Cron::add('test4', '* * * * *', function () use(&$i) {
         $i++;
         return 12345;
     });
     Cron::add('test5', '* * * * *', function () use(&$i) {
         $i++;
         return 12.3456789;
     });
     Cron::add('test6', '* * * * *', function () use(&$i) {
         $i++;
         return 'Return text';
     });
     Cron::add('test7', '* * * * *', function () use(&$i) {
         $i++;
         return new ArrayObject();
     });
     Cron::run();
     $this->assertEquals(7, $i);
     $jobs = \Liebig\Cron\Models\Job::all();
     $this->assertEquals(7, count($jobs));
     $this->assertEquals('test1', $jobs[0]->name);
     $this->assertEquals('', $jobs[0]->return);
     $this->assertEquals('test2', $jobs[1]->name);
     $this->assertEquals('true', $jobs[1]->return);
     $this->assertEquals('test3', $jobs[2]->name);
     $this->assertEquals('false', $jobs[2]->return);
     $this->assertEquals('test4', $jobs[3]->name);
     $this->assertEquals(12345, $jobs[3]->return);
     $this->assertEquals('test5', $jobs[4]->name);
     $this->assertEquals(12.3456789, $jobs[4]->return);
     $this->assertEquals('test6', $jobs[5]->name);
     $this->assertEquals('Return text', $jobs[5]->return);
     $this->assertEquals('test7', $jobs[6]->name);
     $this->assertEquals('Return object type is object', $jobs[6]->return);
 }