FieldEntityLinkBaseTest.php in Drupal 10
File
core/modules/views/tests/src/Functional/Handler/FieldEntityLinkBaseTest.php
View source
<?php
namespace Drupal\Tests\views\Functional\Handler;
use Drupal\language\Entity\ConfigurableLanguage;
use Drupal\node\Entity\Node;
use Drupal\Tests\views\Functional\ViewTestBase;
class FieldEntityLinkBaseTest extends ViewTestBase {
public static $testViews = [
'test_link_base_links',
];
protected static $modules = [
'node',
'language',
];
protected $defaultTheme = 'stark';
protected function setUp($import_test_views = TRUE, $modules = [
'views_test_config',
]) : void {
parent::setUp($import_test_views, $modules);
$this
->drupalCreateContentType([
'type' => 'article',
'name' => 'Article',
]);
ConfigurableLanguage::createFromLangcode('hu')
->save();
ConfigurableLanguage::createFromLangcode('es')
->save();
$this
->rebuildContainer();
foreach ([
'en',
'hu',
] as $langcode) {
$entity = Node::create([
'title' => $this
->randomMachineName(),
'type' => 'article',
'langcode' => $langcode,
]);
$entity
->save();
$translation = $entity
->addTranslation('es');
$translation
->set('title', $entity
->getTitle() . ' in Spanish');
$translation
->save();
}
$this
->drupalLogin($this->rootUser);
}
public function testEntityLink() {
$this
->drupalGet('test-link-base-links');
$session = $this
->assertSession();
$session
->linkByHrefExists('/node/1');
$session
->linkByHrefExists('/es/node/1');
$session
->linkByHrefExists('/hu/node/2');
$session
->linkByHrefExists('/es/node/2');
$session
->linkByHrefExists('/node/1/delete');
$session
->linkByHrefExists('/es/node/1/delete');
$session
->linkByHrefExists('/hu/node/2/delete');
$session
->linkByHrefExists('/es/node/2/delete');
$session
->linkByHrefExists('/node/1/edit');
$session
->linkByHrefExists('/es/node/1/edit');
$session
->linkByHrefExists('/hu/node/2/edit');
$session
->linkByHrefExists('/es/node/2/edit');
$session
->pageTextContains('/node/1');
$session
->pageTextContains('/es/node/1');
$session
->pageTextContains('/hu/node/2');
$session
->pageTextContains('/es/node/2');
}
}