factory_lollipop-1.0.x-dev/tests/modules/factory_lollipop_test/tests/src/Kernel/MediaFactoryTest.php

tests/modules/factory_lollipop_test/tests/src/Kernel/MediaFactoryTest.php
<?php

namespace Drupal\Tests\factory_lollipop_test\Kernel;

use Drupal\Core\Language\LanguageInterface;
use Drupal\media\MediaInterface;
use Drupal\Tests\factory_lollipop\Kernel\LollipopKernelTestBase;

/**
 * Example of Factory Lollipop usage for Media.
 *
 * @group factory_lollipop
 * @group factory_lollipop_example
 */
class MediaFactoryTest extends LollipopKernelTestBase {

  /**
   * {@inheritdoc}
   */
  protected static $modules = [
    'media',
    'file',
    'image',
    'factory_lollipop_test',
  ];

  /**
   * {@inheritdoc}
   */
  public function setUp(): void {
    parent::setUp();

    $this->installEntitySchema('file');
    $this->installSchema('file', 'file_usage');
    $this->installEntitySchema('media');
  }

  /**
   * Ensure defined Media associated to Media-Type can be created.
   *
   * @covers \Drupal\factory_lollipop\FixtureFactory::loadDefinitions
   * @covers \Drupal\factory_lollipop\FixtureFactory::define
   * @covers \Drupal\factory_lollipop\FixtureFactory::association
   * @covers \Drupal\factory_lollipop\FixtureFactory::create
   * @covers \Drupal\factory_lollipop\FactoryType\MediaFactoryType::create
   */
  public function testCreateWithAssociatedDefinition(): void {
    $this->factoryLollipop->loadDefinitions(['media_image']);

    $media = $this->factoryLollipop->create('media_image');

    self::assertInstanceOf(MediaInterface::class, $media);
    self::assertEquals('media_image', $media->bundle());
    self::assertEquals('Enim lectus orci faucibus suscipit', $media->getName());
    self::assertTrue($media->isPublished());
    self::assertEquals('und', $media->getTranslationLanguages()[LanguageInterface::LANGCODE_NOT_SPECIFIED]->getId());

    $media = $this->factoryLollipop->create('media_image', [
      'name' => 'Massa adipiscing ornare gravida ut ullamcorper rhoncus nisl',
      'langcode' => 'en',
      'status' => FALSE,
    ]);
    self::assertInstanceOf(MediaInterface::class, $media);
    self::assertEquals('media_image', $media->bundle());
    self::assertEquals('Massa adipiscing ornare gravida ut ullamcorper rhoncus nisl', $media->getName());
    self::assertFalse($media->isPublished());
    self::assertEquals('en', $media->getTranslationLanguages()['en']->getId());
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc