public function GoogleAnalyticsUserFieldsTest::testGoogleAnalyticsUserFields in Google Analytics 4.x
Same name and namespace in other branches
- 8.3 tests/src/Functional/GoogleAnalyticsUserFieldsTest.php \Drupal\Tests\google_analytics\Functional\GoogleAnalyticsUserFieldsTest::testGoogleAnalyticsUserFields()
- 8.2 tests/src/Functional/GoogleAnalyticsUserFieldsTest.php \Drupal\Tests\google_analytics\Functional\GoogleAnalyticsUserFieldsTest::testGoogleAnalyticsUserFields()
Tests if "allow users to customize tracking on their account page" works.
File
- tests/
src/ Functional/ GoogleAnalyticsUserFieldsTest.php, line 58
Class
- GoogleAnalyticsUserFieldsTest
- Test user fields functionality of Google Analytics module.
Namespace
Drupal\Tests\google_analytics\FunctionalCode
public function testGoogleAnalyticsUserFields() {
$ua_code = 'UA-123456-1';
$this
->config('google_analytics.settings')
->set('account', $ua_code)
->save();
// Check if the pseudo field is shown on account forms.
$this
->drupalGet('admin/config/people/accounts/form-display');
$this
->assertResponse(200);
$this
->assertRaw($this
->t('Google Analytics settings'));
// No customization allowed.
$this
->config('google_analytics.settings')
->set('visibility.user_account_mode', 0)
->save();
$this
->drupalGet('user/' . $this->adminUser
->id() . '/edit');
$this
->assertResponse(200);
$this
->assertNoRaw($this
->t('Google Analytics settings'));
// Tracking on by default, users with opt-in or out of tracking permission
// can opt out.
$this
->config('google_analytics.settings')
->set('visibility.user_account_mode', 1)
->save();
$this
->drupalGet('user/' . $this->adminUser
->id() . '/edit');
$this
->assertResponse(200);
$this
->assertRaw($this
->t('Users are tracked by default, but you are able to opt out.'));
// Tracking off by default, users with opt-in or out of tracking permission
// can opt in.
$this
->config('google_analytics.settings')
->set('visibility.user_account_mode', 2)
->save();
$this
->drupalGet('user/' . $this->adminUser
->id() . '/edit');
$this
->assertResponse(200);
$this
->assertRaw($this
->t('Users are <em>not</em> tracked by default, but you are able to opt in.'));
}