function AutomatedCronTest::testRunsCronOnHttpRequest
Tests that automated cron runs cron on an HTTP request.
@covers \Drupal\automated_cron\EventSubscriber\AutomatedCron::onTerminate
File
-
core/
modules/ automated_cron/ tests/ src/ Kernel/ AutomatedCronTest.php, line 28
Class
- AutomatedCronTest
- Tests for automated_cron.
Namespace
Drupal\Tests\automated_cron\KernelCode
public function testRunsCronOnHttpRequest() : void {
// Set automated_cron interval and times.
// Any interval > 0 should work.
$this->config('automated_cron.settings')
->set('interval', 10800)
->save();
$request = new Request();
// Cron uses `$_SERVER['REQUEST_TIME']` to set `system.cron_last`
// because there is no request stack, so we set the request time
// to the same.
$expected = $_SERVER['REQUEST_TIME'];
$request->server
->set('REQUEST_TIME', $expected);
// Invoke `AutomatedCron::onTerminate` and check result.
$this->assertNull($this->container
->get('state')
->get('system.cron_last'));
$this->container
->get('kernel')
->terminate($request, new Response());
$this->assertEquals($expected, $this->container
->get('state')
->get('system.cron_last'));
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.