public function XmlSitemapFunctionalTest::testStatusReport in XML sitemap 8
Same name and namespace in other branches
- 2.x tests/src/Functional/XmlSitemapFunctionalTest.php \Drupal\Tests\xmlsitemap\Functional\XmlSitemapFunctionalTest::testStatusReport()
Test Status Report.
Test that configuration problems are reported properly in the status report.
File
- tests/
src/ Functional/ XmlSitemapFunctionalTest.php, line 82
Class
- XmlSitemapFunctionalTest
- Tests the generation of sitemaps.
Namespace
Drupal\Tests\xmlsitemap\FunctionalCode
public function testStatusReport() {
$cron_warning_threshold = $this
->config('system.cron')
->get('threshold.requirements_warning');
// Test the rebuild flag.
$this
->drupalLogin($this->admin_user);
$this->state
->set('xmlsitemap_generated_last', $this->time
->getRequestTime());
$this->state
->set('xmlsitemap_rebuild_needed', TRUE);
$this
->assertXMLSitemapProblems('The XML sitemap data is out of sync and needs to be completely rebuilt.');
$this
->clickLink('completely rebuilt');
$this
->assertSession()
->statusCodeEquals(200);
$this->state
->set('xmlsitemap_rebuild_needed', FALSE);
$this
->assertNoXMLSitemapProblems();
// Test the regenerate flag (and cron has run recently).
$this->state
->set('xmlsitemap_regenerate_needed', TRUE);
$this->state
->set('xmlsitemap_generated_last', $this->time
->getRequestTime() - $cron_warning_threshold - 600);
$this->state
->set('system.cron_last', $this->time
->getRequestTime() - $cron_warning_threshold + 600);
$this
->assertNoXMLSitemapProblems();
// Test the regenerate flag (and cron hasn't run in a while).
$this->state
->set('xmlsitemap_regenerate_needed', TRUE);
$this->state
->set('system.cron_last', 0);
$this->state
->set('install_time', 0);
$this->state
->set('xmlsitemap_generated_last', $this->time
->getRequestTime() - $cron_warning_threshold - 600);
$this
->assertXMLSitemapProblems('The XML cached files are out of date and need to be regenerated. You can run cron manually to regenerate the sitemap files.');
$this
->clickLink('run cron manually');
$this
->assertSession()
->statusCodeEquals(200);
$this
->assertNoXMLSitemapProblems();
}