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

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

namespace Drupal\Tests\factory_lollipop_test\Kernel;

use Drupal\file\FileInterface;
use Drupal\Tests\factory_lollipop\Kernel\LollipopKernelTestBase;

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

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

  /**
   * {@inheritdoc}
   */
  protected function setUp(): void {
    parent::setUp();
    $this->installEntitySchema('file');
  }

  /**
   * Ensure defined File of any kind 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\FileFactoryType::create
   */
  public function testCreate(): void {
    $this->factoryLollipop->loadDefinitions(['file']);

    $file = $this->factoryLollipop->create('file_tmp');
    self::assertInstanceOf(FileInterface::class, $file);
    self::assertStringStartsWith('temporary://', $file->getFileUri());

    $file = $this->factoryLollipop->create('file_public');
    self::assertInstanceOf(FileInterface::class, $file);
    self::assertStringStartsWith('public://', $file->getFileUri());
  }

  /**
   * Ensure the FileFactory is overridable.
   *
   * @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\FileFactoryType::create
   */
  public function testDefineOverride() {
    $path = $this->root . '/core/tests/fixtures/files/image-1.png';

    $this->factoryLollipop->loadDefinitions(['file']);

    $file = $this->factoryLollipop->create('file_tmp', ['path' => $path]);
    self::assertInstanceOf(FileInterface::class, $file);
    self::assertSame('temporary://image-1.png', $file->getFileUri());

    $file = $this->factoryLollipop->create('file_public', ['path' => $path]);
    self::assertInstanceOf(FileInterface::class, $file);
    self::assertStringStartsWith('public://image-1.png', $file->getFileUri());
  }

}

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

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