/** * Tests the presence of the expected cache tag in various situations. */ function testSearchText() { $this->drupalLogin($this->searchingUser); // Initial page for searching nodes. $this->drupalGet('search/node'); $this->assertCacheTag('config:search.page.node_search'); $this->assertCacheTag('search_index:node_search'); $this->assertCacheTag('node_list'); // Node search results. $edit = array(); $edit['keys'] = 'bike shed'; $this->drupalPostForm('search/node', $edit, t('Search')); $this->assertText('bike shed shop'); $this->assertCacheTag('config:search.page.node_search'); $this->assertCacheTag('search_index'); $this->assertCacheTag('search_index:node_search'); $this->assertCacheTag('node:1'); $this->assertCacheTag('user:2'); $this->assertCacheTag('rendered'); $this->assertCacheTag('node_list'); // Updating a node should invalidate the search plugin's index cache tag. $this->node->title = 'bike shop'; $this->node->save(); $this->drupalPostForm('search/node', $edit, t('Search')); $this->assertText('bike shop'); $this->assertCacheTag('config:search.page.node_search'); $this->assertCacheTag('search_index'); $this->assertCacheTag('search_index:node_search'); $this->assertCacheTag('node:1'); $this->assertCacheTag('user:2'); $this->assertCacheTag('rendered'); $this->assertCacheTag('node_list'); // Deleting a node should invalidate the search plugin's index cache tag. $this->node->delete(); $this->drupalPostForm('search/node', $edit, t('Search')); $this->assertText('Your search yielded no results.'); $this->assertCacheTag('config:search.page.node_search'); $this->assertCacheTag('search_index'); $this->assertCacheTag('search_index:node_search'); $this->assertCacheTag('node_list'); // Initial page for searching users. $this->drupalGet('search/user'); $this->assertCacheTag('config:search.page.user_search'); $this->assertCacheTag('user_list'); $this->assertNoCacheTag('search_index'); $this->assertNoCacheTag('search_index:user_search'); // User search results. $edit['keys'] = $this->searchingUser->getUsername(); $this->drupalPostForm('search/user', $edit, t('Search')); $this->assertCacheTag('config:search.page.user_search'); $this->assertCacheTag('user_list'); $this->assertCacheTag('user:2'); $this->assertNoCacheTag('search_index'); $this->assertNoCacheTag('search_index:user_search'); }
/** * Tests that when a node is deleted, the node counter is deleted too. */ function testDeleteNode() { $this->config('statistics.settings')->set('count_content_views', 1)->save(); $this->drupalGet('node/' . $this->testNode->id()); // Manually calling statistics.php, simulating ajax behavior. $nid = $this->testNode->id(); $post = array('nid' => $nid); global $base_url; $stats_path = $base_url . '/' . drupal_get_path('module', 'statistics') . '/statistics.php'; $this->client->post($stats_path, array('body' => $post)); $result = db_select('node_counter', 'n')->fields('n', array('nid'))->condition('n.nid', $this->testNode->id())->execute()->fetchAssoc(); $this->assertEqual($result['nid'], $this->testNode->id(), 'Verifying that the node counter is incremented.'); $this->testNode->delete(); $result = db_select('node_counter', 'n')->fields('n', array('nid'))->condition('n.nid', $this->testNode->id())->execute()->fetchAssoc(); $this->assertFalse($result, 'Verifying that the node counter is deleted.'); }