function BrowserTestBaseTest::testGoTo

Same name and namespace in other branches
  1. 9 core/tests/Drupal/FunctionalTests/BrowserTestBaseTest.php \Drupal\FunctionalTests\BrowserTestBaseTest::testGoTo()
  2. 8.9.x core/tests/Drupal/FunctionalTests/BrowserTestBaseTest.php \Drupal\FunctionalTests\BrowserTestBaseTest::testGoTo()
  3. 11.x core/tests/Drupal/FunctionalTests/BrowserTestBaseTest.php \Drupal\FunctionalTests\BrowserTestBaseTest::testGoTo()

Tests basic page test.

File

core/tests/Drupal/FunctionalTests/BrowserTestBaseTest.php, line 65

Class

BrowserTestBaseTest
Tests BrowserTestBase functionality.

Namespace

Drupal\FunctionalTests

Code

public function testGoTo() : void {
  $account = $this->drupalCreateUser();
  $this->drupalLogin($account);
  // Visit a Drupal page that requires login.
  $this->drupalGet('test-page');
  $this->assertSession()
    ->statusCodeEquals(200);
  // Test page contains some text.
  $this->assertSession()
    ->pageTextContains('Test page text.');
  // Check that returned plain text is correct.
  $text = $this->getTextContent();
  $this->assertStringContainsString('Test page text.', $text);
  $this->assertStringNotContainsString('</html>', $text);
  // Ensure Drupal Javascript settings are not part of the page text.
  $this->assertArrayHasKey('currentPathIsAdmin', $this->getDrupalSettings()['path']);
  $this->assertStringNotContainsString('currentPathIsAdmin', $text);
  // Response includes cache tags that we can assert.
  $this->assertSession()
    ->responseHeaderExists('X-Drupal-Cache-Tags');
  $this->assertSession()
    ->responseHeaderEquals('X-Drupal-Cache-Tags', 'http_response rendered');
  // Test that we can read the JS settings.
  $js_settings = $this->getDrupalSettings();
  $this->assertSame('azAZ09();.,\\\\/-_{}', $js_settings['test-setting']);
  // Test drupalGet with a URL object.
  $url = Url::fromRoute('test_page_test.render_title');
  $this->drupalGet($url);
  $this->assertSession()
    ->statusCodeEquals(200);
  // Test page contains some text.
  $this->assertSession()
    ->pageTextContains('Hello Drupal');
  // Test that setting headers with drupalGet() works.
  $this->drupalGet('system-test/header', [], [
    'Test-Header' => 'header value',
  ]);
  $this->assertSession()
    ->responseHeaderExists('Test-Header');
  $this->assertSession()
    ->responseHeaderEquals('Test-Header', 'header value');
  // Ensure that \Drupal\Tests\UiHelperTrait::isTestUsingGuzzleClient() works
  // as expected.
  $this->assertTrue($this->isTestUsingGuzzleClient());
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.