test_support-1.0.x-dev/tests/src/Kernel/Installs/InstallsImageStylesTest.php
tests/src/Kernel/Installs/InstallsImageStylesTest.php
<?php
namespace Drupal\Tests\test_support\Kernel\Installs;
use Drupal\image\Entity\ImageStyle;
use Drupal\KernelTests\KernelTestBase;
use Drupal\Tests\test_support\Traits\Installs\InstallsImageStyles;
class InstallsImageStylesTest extends KernelTestBase
{
use InstallsImageStyles;
protected function setUp(): void
{
parent::setUp();
$this->setConfigDirectory(__DIR__ . '/__fixtures__/config/sync/image_styles');
}
/** @test */
public function installing_image_style_prepares_dependencies(): void
{
$this->installImageStyles('large');
$imageStyleStorage = $this->container->get('entity_type.manager')->getStorage('image_style');
$this->assertNotEmpty($imageStyleStorage->loadMultiple());
}
/** @test */
public function install_single_image_style(): void
{
$this->enableModules([
'image',
]);
$this->installEntitySchema('image_style');
$imageStyleStorage = $this->container->get('entity_type.manager')->getStorage('image_style');
$this->assertEmpty($imageStyleStorage->loadMultiple());
$this->installImageStyles('large');
/** @var array<mixed> $imageStyles */
$imageStyles = $imageStyleStorage->loadMultiple();
$this->assertNotEmpty($imageStyles);
$this->assertInstanceOf(ImageStyle::class, $imageStyleStorage->load('large'));
}
/** @test */
public function install_multiple_image_styles(): void
{
$this->enableModules([
'image',
]);
$this->installEntitySchema('image_style');
$this->setConfigDirectory(__DIR__ . '/__fixtures__/config/sync/image_styles');
$imageStyleStorage = $this->container->get('entity_type.manager')->getStorage('image_style');
$this->assertEmpty($imageStyleStorage->loadMultiple());
$imageStylesToInstall = [
'large',
'medium',
];
$this->installImageStyles($imageStylesToInstall);
/** @var array<ImageStyle> $imageStyles */
$imageStyles = $imageStyleStorage->loadMultiple();
$this->assertNotEmpty($imageStyles);
$imageStyleIds = array_map(function (ImageStyle $imageStyle) {
return $imageStyle->id();
}, $imageStyles);
$this->assertEquals($imageStylesToInstall, array_values($imageStyleIds));
}
}
