function SearchByPageExtraUsersTest::testReindexingUsers in Search by Page 8
Tests that no new users are created when reindexing.
File
- tests/
src/ Functional/ search_by_page.test, line 676 - Tests for the Search by Page module. By Jennifer Hodgdon of Poplar ProductivityWare, www.poplarware.com
Class
- SearchByPageExtraUsersTest
- Tests that no extra Search by Page indexing users are created.
Namespace
Drupal\Tests\search_by_page\FunctionalCode
function testReindexingUsers() {
$this
->drupalLogin($this->superuser);
$search_path = $this->envinfo1['page_path'];
// Count the number of users.
$num_before = $this
->howManyUsers();
// Set to reindex automatically on normal cycle.
$this
->drupalPostForm('admin/config/search/search_by_page/edit/' . $this->envid1, array(
'search_by_page_nodes_min_time' => 1,
'search_by_page_nodes_max_time' => 0,
), 'Save configuration');
drupal_flush_all_caches();
variable_initialize();
// Set search so it only indexes 1 node per cron run.
\Drupal::state()
->set('search_by_page_cron_limit', 1);
// Figure out the current index times of the nodes.
$orig = $this
->getIndexTimes();
// In a loop: run cron, and verify each time that something was reindexed.
for ($i = 0; $i < 10; $i++) {
// Run cron - should reindex just one node.
$this
->doCronrun();
$this
->drupalLogin($this->superuser);
// Figure out the current index times of the nodes.
$new = $this
->getIndexTimes();
// Verify that only one was indexed, and it was the oldest one.
$this
->verifyIndexCycling($orig, $new);
$orig = $new;
}
// Now see how many users there are.
$num_after = $this
->howManyUsers();
$this
->assertEqual($num_before, $num_after, "Number of users before ({$num_before}) and after ({$num_after}) is the same");
}