ConfigTranslationUiTest.php

Same filename in this branch
  1. 11.x core/modules/config_translation/tests/src/Functional/ConfigTranslationUiTest.php
Same filename and directory in other branches
  1. 9 core/modules/config_translation/tests/src/FunctionalJavascript/ConfigTranslationUiTest.php
  2. 9 core/modules/config_translation/tests/src/Functional/ConfigTranslationUiTest.php
  3. 8.9.x core/modules/config_translation/tests/src/FunctionalJavascript/ConfigTranslationUiTest.php
  4. 8.9.x core/modules/config_translation/tests/src/Functional/ConfigTranslationUiTest.php
  5. 10 core/modules/config_translation/tests/src/FunctionalJavascript/ConfigTranslationUiTest.php
  6. 10 core/modules/config_translation/tests/src/Functional/ConfigTranslationUiTest.php

Namespace

Drupal\Tests\config_translation\FunctionalJavascript

File

core/modules/config_translation/tests/src/FunctionalJavascript/ConfigTranslationUiTest.php

View source
<?php

declare (strict_types=1);
namespace Drupal\Tests\config_translation\FunctionalJavascript;

use Drupal\FunctionalJavascriptTests\WebDriverTestBase;
use Drupal\language\Entity\ConfigurableLanguage;

/**
 * Translate settings and entities to various languages.
 *
 * @group config_translation
 */
class ConfigTranslationUiTest extends WebDriverTestBase {
    
    /**
     * {@inheritdoc}
     */
    protected static $modules = [
        'config_translation',
        'contextual',
        'node',
        'views',
        'views_ui',
    ];
    
    /**
     * {@inheritdoc}
     */
    protected $defaultTheme = 'stark';
    
    /**
     * Tests that contextual link related to views.
     */
    public function testViewContextualLink() : void {
        $user = $this->drupalCreateUser([
            'translate configuration',
            'access contextual links',
        ]);
        $this->drupalLogin($user);
        $this->drupalGet('node');
        $contextualLinks = $this->assertSession()
            ->waitForElement('css', '.contextual-links');
        $link = $contextualLinks->findLink('Translate view');
        $this->assertNotNull($link, 'Translate view contextual link added.');
    }
    
    /**
     * Tests that the add, edit and delete operations open in a modal.
     */
    public function testConfigTranslationDialog() : void {
        $page = $this->getSession()
            ->getPage();
        ConfigurableLanguage::createFromLangcode('fi')->save();
        $user = $this->drupalCreateUser([
            'translate configuration',
        ]);
        $this->drupalLogin($user);
        $this->drupalGet('admin/structure/views/view/content/translate');
        $this->clickLink('Add');
        $this->assertEquals('Add Finnish translation for Content view', $this->assertSession()
            ->waitForElement('css', '.ui-dialog-title')
            ->getText());
        $this->assertSession()
            ->fieldExists('translation[config_names][views.view.content][label]')
            ->setValue('Content FI');
        $page->find('css', '.ui-dialog-buttonset')
            ->pressButton('Save translation');
        $this->assertSession()
            ->pageTextContains('Successfully saved Finnish translation.');
        $this->clickLink('Edit');
        $this->assertEquals('Edit Finnish translation for Content view', $this->assertSession()
            ->waitForElement('css', '.ui-dialog-title')
            ->getText());
        $this->getSession()
            ->getPage()
            ->find('css', '.ui-dialog-buttonset')
            ->pressButton('Save translation');
        $this->assertSession()
            ->pageTextContains('Successfully updated Finnish translation.');
        $page->find('css', '.dropbutton-toggle button')
            ->click();
        $this->clickLink('Delete');
        $this->assertEquals('Are you sure you want to delete the Finnish translation of Content view?', $this->assertSession()
            ->waitForElement('css', '.ui-dialog-title')
            ->getText());
        $page->find('css', '.ui-dialog-buttonset')
            ->pressButton('Delete');
        $this->assertSession()
            ->pageTextContains('Finnish translation of Content view was deleted');
    }

}

Classes

Title Deprecated Summary
ConfigTranslationUiTest Translate settings and entities to various languages.

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