inline_image_saver-1.0.x-dev/tests/src/Kernel/FileHashIntegrationTest.php

tests/src/Kernel/FileHashIntegrationTest.php
<?php

declare(strict_types=1);

namespace Drupal\Tests\inline_image_saver\Kernel;

use Drupal\file\FileInterface;
use Drupal\inline_image_saver\Form\InlineImageSaverSettingsForm;
use Drupal\KernelTests\Core\File\FileTestBase;
use Drupal\Tests\inline_image_saver\Traits\InlineImageTestTrait;
use Drupal\Tests\inline_image_saver\Traits\SetupBaseUrlTrait;
use Drupal\Tests\TestFileCreationTrait;
use PHPUnit\Framework\Attributes\IgnoreDeprecations;

/**
 * Tests the integration between inline_image_saver and filehash modules.
 */
#[IgnoreDeprecations]
class FileHashIntegrationTest extends FileTestBase {

  use TestFileCreationTrait;
  use InlineImageTestTrait;
  use SetupBaseUrlTrait;

  /**
   * {@inheritdoc}
   */
  protected static $modules = [
    'system',
    'field',
    'user',
    'file',
    'filter',
    'filter_test',
    'inline_image_saver',
    'filehash',
  ];

  /**
   * {@inheritdoc}
   */
  protected function setUp(): void {
    parent::setUp();
    $this->setupBaseUrl();
    $this->installConfig(['system']);
    $this->installEntitySchema('file');
    $this->installEntitySchema('user');
    $this->installSchema('file', 'file_usage');
    $this->installConfig(['filter', 'filter_test', 'inline_image_saver', 'filehash']);
    $this->processableFormatId = 'full_html';
    $this->config('filehash.settings')
      ->set('algorithms.sha1', TRUE)
      ->save();
  }

  /**
   * Tests the integration.
   */
  public function testIntegration(): void {
    $this->config(InlineImageSaverSettingsForm::CONFIG_NAME)
      ->set('prefer_reuse_files', TRUE)
      ->save();
    $images = $this->getTestFiles('image');
    $img_file = $this->container->get('entity_type.manager')->getStorage('file')->create((array) $images[0]);
    $img_file->save();
    $this->assertInstanceOf(FileInterface::class, $img_file);

    $img_markup = $this->createImageMarkup(['src' => $img_file->createFileUrl()]);
    $img = $this->extractImageElement($img_markup);
    $inline_image_saver = $this->container->get('inline_image_saver');
    $data = $inline_image_saver->downloadImage($img);
    $file = $inline_image_saver->saveImage($data, 'invalid://');
    $this->assertInstanceOf(FileInterface::class, $file);
    $this->assertEquals($img_file->uuid(), $file->uuid());
  }

}

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

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