MergeTranslationsFormTest.php in Merge translations 8
File
tests/src/Functional/MergeTranslationsFormTest.php
View source
<?php
namespace Drupal\Tests\merge_translations\Functional;
use Drupal\language\Entity\ConfigurableLanguage;
use Drupal\node\Entity\Node;
use Drupal\Tests\BrowserTestBase;
class MergeTranslationsFormTest extends BrowserTestBase {
protected static $modules = [
'language',
'merge_translations',
'node',
];
protected $editorUser;
protected $entities;
protected function setUp() {
parent::setUp();
$this
->drupalCreateContentType([
'type' => 'article',
'name' => 'Article',
]);
$this->editorUser = $this
->drupalCreateUser([
'merge_permissions admin',
]);
ConfigurableLanguage::createFromLangcode('de')
->save();
ConfigurableLanguage::createFromLangcode('es')
->save();
ConfigurableLanguage::createFromLangcode('it')
->save();
ConfigurableLanguage::createFromLangcode('pl')
->save();
$this->entities = [];
foreach ([
'en',
'de',
'es',
'it',
'pl',
] as $langcode) {
$entity = Node::create([
'title' => $this
->randomMachineName(),
'type' => 'article',
'langcode' => $langcode,
]);
$entity
->save();
$this->entities[$langcode] = $entity;
}
$this
->drupalLogin($this->editorUser);
}
public function testMergeTranslations() {
$english_node = $this->entities['en'];
$this
->drupalGet('node/' . $english_node
->id() . '/merge_translations');
$this
->assertSession()
->pageTextContains('Merge translations of ' . $english_node
->label());
$this
->assertSession()
->statusCodeEquals('200');
$this
->drupalLogout();
$this
->drupalGet('node/' . $english_node
->id() . '/merge_translations');
$this
->assertSession()
->statusCodeEquals('403');
}
}