
| Current Path : /var/www/html/rocksensor1/web/core/modules/views/tests/src/Unit/Plugin/views/field/ |
Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 |
| Current File : /var/www/html/rocksensor1/web/core/modules/views/tests/src/Unit/Plugin/views/field/LinkBaseTest.php |
<?php
declare(strict_types=1);
namespace Drupal\Tests\views\Unit\Plugin\views\field;
use Drupal\Core\Access\AccessManagerInterface;
use Drupal\Core\Access\AccessResultAllowed;
use Drupal\Core\Entity\EntityRepositoryInterface;
use Drupal\Core\Entity\EntityTypeManagerInterface;
use Drupal\Core\Language\LanguageManagerInterface;
use Drupal\Core\Render\RendererInterface;
use Drupal\Core\StringTranslation\TranslationInterface;
use Drupal\Tests\UnitTestCase;
use Drupal\Tests\views\Traits\ViewsLoggerTestTrait;
use Drupal\views\Plugin\views\display\DisplayPluginBase;
use Drupal\views\Plugin\views\field\LinkBase;
use Drupal\views\ResultRow;
use Drupal\views\ViewExecutable;
/**
* @coversDefaultClass \Drupal\views\Plugin\views\field\EntityLink
* @group Views
*/
class LinkBaseTest extends UnitTestCase {
use ViewsLoggerTestTrait;
/**
* {@inheritdoc}
*/
protected function setUp(): void {
parent::setUp();
$this->setUpMockLoggerWithMissingEntity();
$container = \Drupal::getContainer();
$container->set('string_translation', $this->createMock(TranslationInterface::class));
$container->set('renderer', $this->createMock(RendererInterface::class));
\Drupal::setContainer($container);
}
/**
* Tests the render method when getEntity returns NULL.
*
* @covers ::render
*/
public function testRenderNullEntity(): void {
$row = new ResultRow();
$access = new AccessResultAllowed();
$languageManager = $this->createMock(LanguageManagerInterface::class);
$languageManager->expects($this->any())
->method('isMultilingual')
->willReturn(TRUE);
$field = $this->getMockBuilder(LinkBase::class)
->setConstructorArgs([
['entity_type' => 'foo', 'entity field' => 'bar'],
'foo',
[],
$this->createMock(AccessManagerInterface::class),
$this->createMock(EntityTypeManagerInterface::class),
$this->createMock(EntityRepositoryInterface::class),
$languageManager,
])
->onlyMethods(['checkUrlAccess', 'getUrlInfo'])
->getMock();
$field->expects($this->any())
->method('checkUrlAccess')
->willReturn($access);
$view = $this->createMock(ViewExecutable::class);
$display = $this->createMock(DisplayPluginBase::class);
$field->init($view, $display);
$field_built = $field->render($row);
$this->assertEquals('', \Drupal::service('renderer')->render($field_built));
}
}