/** * 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); }