View source
<?php
namespace Drupal\Tests\entity_print\Kernel;
use Drupal\entity_print\Controller\EntityPrintController;
use Drupal\KernelTests\KernelTestBase;
use Drupal\language\Entity\ConfigurableLanguage;
use Drupal\node\Entity\NodeType;
use Drupal\Tests\node\Traits\NodeCreationTrait;
class TranslationTest extends KernelTestBase {
use NodeCreationTrait;
public static $modules = [
'system',
'user',
'node',
'filter',
'language',
'entity_print',
'entity_print_test',
];
public function setUp() : void {
parent::setUp();
$this
->installEntitySchema('node');
$this
->installEntitySchema('user');
$this
->installSchema('node', [
'node_access',
]);
$this
->installConfig([
'system',
'filter',
]);
$this->container
->get('theme_installer')
->install([
'stark',
]);
$node_type = NodeType::create([
'name' => 'Page',
'type' => 'page',
]);
$node_type
->setDisplaySubmitted(FALSE);
$node_type
->save();
ConfigurableLanguage::createFromLangcode('de')
->save();
ConfigurableLanguage::createFromLangcode('en')
->save();
$this->container
->get('language_manager')
->reset();
}
public function testTranslatedEntity() {
$node = $this
->createNode([
'title' => 'english',
]);
$node
->addTranslation('de', [
'title' => 'german',
])
->save();
$this->container
->get('entity_type.manager')
->getStorage('node')
->resetCache([
$node
->id(),
]);
$this
->assertSame('english', $node
->getTitle());
$this
->assertSame('german', $node
->getTranslation('de')
->getTitle());
$controller = EntityPrintController::create($this->container);
$this
->assertStringContainsString('english', (string) $controller
->viewPrintDebug('pdf', 'node', $node
->id()));
$this
->config('system.site')
->set('default_langcode', 'de')
->save();
$this
->assertStringContainsString('german', (string) $controller
->viewPrintDebug('pdf', 'node', $node
->id()));
}
}