public function GoogleAnalyticsSearchTest::testGoogleAnalyticsSearchTracking in Google Analytics 8.2
Same name and namespace in other branches
- 8.3 tests/src/Functional/GoogleAnalyticsSearchTest.php \Drupal\Tests\google_analytics\Functional\GoogleAnalyticsSearchTest::testGoogleAnalyticsSearchTracking()
- 4.x tests/src/Functional/GoogleAnalyticsSearchTest.php \Drupal\Tests\google_analytics\Functional\GoogleAnalyticsSearchTest::testGoogleAnalyticsSearchTracking()
Tests if search tracking is properly added to the page.
File
- tests/
src/ Functional/ GoogleAnalyticsSearchTest.php, line 51
Class
- GoogleAnalyticsSearchTest
- Test search functionality of Google Analytics module.
Namespace
Drupal\Tests\google_analytics\FunctionalCode
public function testGoogleAnalyticsSearchTracking() {
$ua_code = 'UA-123456-1';
$this
->config('google_analytics.settings')
->set('account', $ua_code)
->save();
// Check tracking code visibility.
$this
->drupalGet('');
$this
->assertRaw($ua_code);
$this
->drupalGet('search/node');
$this
->assertNoRaw('ga("set", "page",');
// Enable site search support.
$this
->config('google_analytics.settings')
->set('track.site_search', 1)
->save();
// Search for random string.
$search = [
'keys' => $this
->randomMachineName(8),
];
// Fire a search, it's expected to get 0 results.
$this
->drupalPostForm('search/node', $search, t('Search'));
$this
->assertSession()
->responseContains('ga("set", "page", (window.google_analytics_search_results) ?');
$this
->assertSession()
->responseContains('window.google_analytics_search_results = 0;');
// Create a node and reindex.
$this
->createNodeAndIndex($search['keys']);
$this
->drupalPostForm('search/node', $search, t('Search'));
$this
->assertSession()
->responseContains('ga("set", "page", (window.google_analytics_search_results) ?');
$this
->assertSession()
->responseContains('window.google_analytics_search_results = 1;');
// Create a second node with same values and reindex.
$this
->createNodeAndIndex($search['keys']);
$this
->drupalPostForm('search/node', $search, t('Search'));
$this
->assertSession()
->responseContains('ga("set", "page", (window.google_analytics_search_results) ?');
$this
->assertSession()
->responseContains('window.google_analytics_search_results = 2;');
}