blazy-8.x-2.x-dev/tests/src/Kernel/BlazyEntityTest.php
tests/src/Kernel/BlazyEntityTest.php
<?php namespace Drupal\Tests\blazy\Kernel; /** * Tests the Blazy entity methods. * * @coversDefaultClass \Drupal\blazy\BlazyEntity * @requires module media * * @group blazy */ class BlazyEntityTest extends BlazyKernelTestBase { /** * {@inheritdoc} */ protected function setUp(): void { parent::setUp(); $bundle = $this->bundle; $settings['fields']['field_text_multiple'] = 'text'; $this->setUpContentTypeTest($bundle, $settings); $this->setUpContentWithItems($bundle); $this->setUpRealImage(); } /** * Tests the entity view builder. * * @param string $entity * The tested entity. * @param string $fallback * The fallback text. * @param string $message * The message text. * @param bool $expected * The expected output. * * @covers ::view * @dataProvider providerTestGetEntityView */ public function testGetEntityView($entity, $fallback, $message, $expected) { if ($entity == 'node') { $entity = empty($this->entity) ? $this->setUpContentWithItems($this->bundle) : $this->entity; } elseif ($entity == 'responsive_image') { $entity = $this->blazyManager->load('blazy_responsive_test', 'responsive_image_style'); } elseif ($entity == 'image') { $entity = $this->testItem; } $data = [ '#entity' => $entity, '#settings' => [], 'fallback' => $fallback, ]; $result = $this->blazyEntity->view($data); $this->assertSame($expected, !empty($result), $message); } /** * Provide test cases for ::testGetEntityView(). * * @return array * An array of tested data. */ public static function providerTestGetEntityView() { return [ 'Node' => [ 'node', '', 'Node has node_view() taking precedence over view builder.', TRUE, ], 'Responsive image' => [ 'responsive_image', 'This is some fallback text.', 'Responsive image has no view builder. Fallback to text.', TRUE, ], 'Image' => [ 'image', '', 'Image is not an instance of EntityInterface, returns false.', FALSE, ], ]; } }