editorjs-2.x-dev/modules/media/tests/src/Functional/MediaToolTest.php

modules/media/tests/src/Functional/MediaToolTest.php
<?php

namespace Drupal\Tests\editorjs_media\Functional;

use Drupal\file\Entity\File;
use Drupal\media\Entity\Media;
use Drupal\Tests\editorjs\Functional\EditorJsFieldTestBase;
use Drupal\Tests\media\Traits\MediaTypeCreationTrait;
use Drupal\Tests\TestFileCreationTrait;

/**
 * Tests the media tool.
 *
 * @group editorjs
 */
class MediaToolTest extends EditorJsFieldTestBase {

  use MediaTypeCreationTrait;
  use TestFileCreationTrait {
    getTestFiles as drupalGetTestFiles;
  }

  /**
   * Modules to enable.
   *
   * @var array
   */
  protected static $modules = [
    'field',
    'node',
    'media',
    'editorjs_media',
  ];

  /**
   * {@inheritdoc}
   */
  protected $defaultTheme = 'stark';

  /**
   * A user with permission to create articles.
   *
   * @var \Drupal\user\UserInterface
   */
  protected $webUser;

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

    /** @var \Drupal\Core\Entity\EntityDisplayRepositoryInterface $display_repository */
    $display_repository = \Drupal::service('entity_display.repository');
    $display_repository->getFormDisplay('node', 'article')
      ->setComponent('field_editorjs', [
        'type' => 'editorjs',
        'settings' => [
          'tools' => [
            'media_image' => [
              'status' => TRUE,
              'settings' => [
                'placeholder' => 'Select media',
                'media_types' => ['image'],
                'view_mode' => 'full',
              ],
            ],
          ],
        ],
      ])
      ->save();

    $display_repository->getViewDisplay('node', 'article')
      ->setComponent('field_editorjs', [
        'type' => 'editorjs_default',
        'weight' => 1,
        'settings' => [
          'negate' => TRUE,
        ],
      ])
      ->save();

  }

  /**
   * Tests "editorjs" field "media_image" tool.
   */
  public function testMediaTool() {
    $this->createMediaType('image', ['id' => 'image', 'label' => 'Image']);
    $image = current($this->drupalGetTestFiles('image'));
    /** @var \Drupal\file\Entity\File $file */
    $file = File::create((array) $image);
    $file->save();
    $media = Media::create([
      'bundle' => 'image',
      'name' => $this->randomString(),
      'field_media_image' => [
        [
          'target_id' => $file->id(),
          'alt' => $this->randomString(),
        ],
      ],
    ]);
    $media->save();
    $this->toolTest([
      'type' => 'media_image',
      'data' => [
        'uuid' => $media->uuid(),
        'view_mode' => 'full',
      ],
    ], 'ce-block__content ce-media-image">');
  }

}

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

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