ConfigTranslationListUiTest.php
Namespace
Drupal\Tests\contact\FunctionalFile
- 
              core/modules/ contact/ tests/ src/ Functional/ ConfigTranslationListUiTest.php 
View source
<?php
declare (strict_types=1);
namespace Drupal\Tests\contact\Functional;
use Drupal\contact\Entity\ContactForm;
use Drupal\Tests\BrowserTestBase;
use PHPUnit\Framework\Attributes\Group;
use PHPUnit\Framework\Attributes\RunTestsInSeparateProcesses;
/**
 * Ensure the "translate" link is added to contact forms.
 *
 * @see \Drupal\Tests\config_translation\Functional\ConfigTranslationListUiTest
 */
class ConfigTranslationListUiTest extends BrowserTestBase {
  
  /**
   * {@inheritdoc}
   */
  protected static $modules = [
    'block',
    'config_translation',
    'contact',
    'toolbar',
  ];
  
  /**
   * {@inheritdoc}
   */
  protected $defaultTheme = 'stark';
  
  /**
   * Admin user with all needed permissions.
   *
   * @var \Drupal\user\Entity\User
   */
  protected $adminUser;
  
  /**
   * {@inheritdoc}
   */
  protected function setUp() : void {
    parent::setUp();
    $permissions = [
      'access site-wide contact form',
      'administer contact forms',
      'translate configuration',
    ];
    // Create and log in user.
    $this->adminUser = $this->drupalCreateUser($permissions);
    $this->drupalLogin($this->adminUser);
    // Enable import of translations. By default this is disabled for automated
    // tests.
    $this->config('locale.settings')
      ->set('translation.import_enabled', TRUE)
      ->set('translation.use_source', LOCALE_TRANSLATION_USE_SOURCE_LOCAL)
      ->save();
    $this->drupalPlaceBlock('local_tasks_block');
  }
  
  /**
   * Tests the contact forms listing for the translate operation.
   */
  public function testContactFormsList() : void {
    // Create a test contact form to decouple looking for translate operations
    // link so this does not test more than necessary.
    $contact_form = ContactForm::create([
      'id' => $this->randomMachineName(16),
      'label' => $this->randomMachineName(),
    ]);
    $contact_form->save();
    // Get the contact form listing.
    $this->drupalGet('admin/structure/contact');
    $translate_link = 'admin/structure/contact/manage/' . $contact_form->id() . '/translate';
    // Test if the link to translate the contact form is on the page.
    $this->assertSession()
      ->linkByHrefExists($translate_link);
    // Test if the link to translate actually goes to the translate page.
    $this->drupalGet($translate_link);
    $this->assertSession()
      ->responseContains('<th>Language</th>');
  }
}Classes
| Title | Deprecated | Summary | 
|---|---|---|
| ConfigTranslationListUiTest | Ensure the "translate" link is added to contact forms. | 
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.
