You are here

protected function AmpTestBase::setUp in Accelerated Mobile Pages (AMP) 8.2

Same name and namespace in other branches
  1. 8.3 tests/src/Functional/AmpTestBase.php \Drupal\Tests\amp\Functional\AmpTestBase::setUp()

Overrides BrowserTestBase::setUp

File

tests/src/Functional/AmpTestBase.php, line 56

Class

AmpTestBase
Base AMP testing setup.

Namespace

Drupal\Tests\amp\Functional

Code

protected function setUp() {
  parent::setUp();

  // Install the theme.
  // @see https://www.drupal.org/node/2232651
  $this->container
    ->get('theme_installer')
    ->install([
    'bartik',
    'seven',
    'ampsubtheme_example',
  ]);
  $this->container
    ->get('config.factory')
    ->getEditable('system.theme')
    ->set('default', 'bartik')
    ->set('admin', 'seven')
    ->save();

  // Create Article node type.
  $this
    ->createContentType([
    'type' => 'article',
    'name' => 'Article',
  ]);

  // Login as an admin user.
  $this->adminUser = $this
    ->drupalCreateUser($this->permissions);
  $this
    ->drupalLogin($this->adminUser);

  // Configure AMP.
  $settings_url = Url::fromRoute("amp.settings")
    ->toString();
  $this
    ->drupalGet($settings_url);
  $edit = [
    'amptheme' => 'ampsubtheme_example',
  ];
  $this
    ->submitForm($edit, t('Save configuration'));

  // Enable AMP display on article content.
  $article_url = Url::fromRoute("entity.entity_view_display.node.default", [
    'node_type' => 'article',
  ])
    ->toString();
  $this
    ->drupalGet($article_url);
  $this
    ->assertSession()
    ->statusCodeEquals(200);
  $edit = [
    'display_modes_custom[amp]' => 'amp',
  ];
  $this
    ->submitForm($edit, t('Save'));

  // Configure AMP field formatters.
  $amp_edit = Url::fromRoute('entity.node_type.edit_form', [
    'node_type' => 'article',
  ])
    ->toString();
  $this
    ->drupalGet($amp_edit . '/display/amp');
  $this
    ->assertSession()
    ->statusCodeEquals(200);
  $edit = [
    "fields[field_image][type]" => 'amp_image',
  ];
  $edit = [
    "fields[body][type]" => 'amp_text',
  ];
  $this
    ->submitForm($edit, t('Save'));
}