You are here

ViewModesUtf8EncodedTest.php in Acquia Content Hub 8

File

tests/src/Functional/ViewModesUtf8EncodedTest.php
View source
<?php

namespace Drupal\Tests\acquia_contenthub\Functional;

use Drupal\Core\StringTranslation\StringTranslationTrait;

/**
 * Test Acquia Content Hub node reference.
 *
 * @group acquia_contenthub
 */
class ViewModesUtf8EncodedTest extends ContentHubTestBase {
  use StringTranslationTrait;

  /**
   * The permissions of the admin user.
   *
   * @var string[]
   */
  protected $adminUserPermissions = [
    'access content',
    'access administration pages',
    'administer site configuration',
    'administer content types',
    'administer languages',
    'translate interface',
    'translate any entity',
    'administer content translation',
    'create content translations',
    'update content translations',
    'administer nodes',
    'administer acquia content hub',
    'access administration pages',
  ];

  /**
   * Modules to enable for this test.
   *
   * @var string[]
   */
  public static $modules = [
    'node',
    'acquia_contenthub',
    'locale',
    'language',
    'content_translation',
  ];

  /**
   * {@inheritdoc}
   */
  public function setUp() : void {
    parent::setUp();

    // Create the users used for the tests.
    $this->adminUser = $this
      ->drupalCreateUser($this->adminUserPermissions);
    $this
      ->drupalLogin($this->adminUser);
    $this
      ->configureContentHubContentTypes('node', [
      'article',
    ]);
    $this
      ->enableViewModeFor('node', 'article', 'teaser');
  }

  /**
   * Configure content hub node form.
   */
  public function testUTF8EncodedViewModes() {

    // @codingStandardsIgnoreLine
    // Adding portuguese language.
    $this
      ->drupalGet('admin/config/regional/language/add');
    $this
      ->assertSession()
      ->statusCodeEquals(200);
    $edit = [
      'predefined_langcode' => 'pt-pt',
    ];
    $this
      ->submitForm($edit, $this
      ->t('Add language'));
    $this
      ->assertSession()
      ->statusCodeEquals(200);
    $this
      ->drupalGet('admin/config/regional/language');
    $this
      ->assertSession()
      ->statusCodeEquals(200);
    $this
      ->drupalGet('admin/structure/types/manage/article');
    $edit = [
      'language_configuration[langcode]' => 'pt-pt',
      'language_configuration[language_alterable]' => 1,
      'language_configuration[content_translation]' => 1,
    ];
    $this
      ->submitForm($edit, $this
      ->t('Save content type'));
    $this
      ->assertSession()
      ->statusCodeEquals(200);
    $this
      ->drupalGet('node/add/article');
    $this
      ->assertSession()
      ->statusCodeEquals(200);
    $title = 'Salas de isolamento e contactos de urgência. Escolas com orientações para planos de contingência';
    $body = 'A Direção-Geral dos Estabelecimentos de Ensino enviou recomendações a todas as escolas, que devem desenvolver os seus próprios planos de contingência nos próximos dias para o covid-19. Duas das nove pessoas infetadas em Portugal são professores.';
    $edit = [
      'title[0][value]' => $title,
      'body[0][value]' => $body,
    ];
    $this
      ->submitForm($edit, $this
      ->t('Save'));
    $this
      ->drupalGet("acquia-contenthub/display/node/1/teaser");
    $this
      ->assertSession()
      ->statusCodeEquals(200);
    $this
      ->assertSession()
      ->pageTextContains($title);
    $this
      ->assertSession()
      ->pageTextContains($body);
  }

}

Classes

Namesort descending Description
ViewModesUtf8EncodedTest Test Acquia Content Hub node reference.