commerce_export-8.x-1.0-alpha1/tests/src/Kernel/Migrate/ImageTest.php

tests/src/Kernel/Migrate/ImageTest.php
<?php

namespace Drupal\Tests\commerce_export\Kernel\Migrate;

use Drupal\file\Entity\File;
use Drupal\file\FileInterface;

/**
 * Tests Product migration.
 *
 * @requires module migrate_source_csv
 *
 * @group commerce_export
 */
class ImageTest extends TestBase {

  use MigrateTestTrait;

  /**
   * Modules to enable.
   *
   * @var array
   */
  public static $modules = [
    'file',
  ];

  /**
   * {@inheritdoc}
   */
  protected function setUp() {
    parent::setUp();
    $this->fileMigrationSetup();
  }

  /**
   * Tests a single file entity.
   *
   * @param int $id
   *   The file ID.
   * @param string $name
   *   The expected file name.
   * @param string $uri
   *   The expected URI.
   * @param string $mime
   *   The expected MIME type.
   * @param int $size
   *   The expected file size.
   * @param int $uid
   *   The expected owner ID.
   */
  protected function assertEntity($id, $name, $uri, $mime, $size, $uid) {
    /** @var \Drupal\file\FileInterface $file */
    $file = File::load($id);
    $this->assertTrue($file instanceof FileInterface);
    $this->assertSame($name, $file->getFilename());
    $this->assertSame($uri, $file->getFileUri());
    $this->assertTrue(file_exists($uri));
    $this->assertSame($mime, $file->getMimeType());
    $this->assertSame($size, $file->getSize());
    $this->assertTrue($file->isPermanent());
    $this->assertSame($uid, $file->getOwnerId());
  }

  /**
   * Tests image file migration from CSV source file.
   */
  public function testFileMigration() {
    $this->enableModules(['commerce_export']);
    $this->executeMigration('import_image');

    $this->assertEntity(1, 'TherMaxx 3mm - Black - Mens - XS.jpeg', 'public://images/TherMaxx%203mm%20-%20Black%20-%20Mens%20-%20XS.jpeg', 'image/jpeg', '4789', '1');
    $this->assertEntity(2, 'image2.png', 'public://images/image2.png', 'image/png', '3974', '1');
    $this->assertEntity(3, 'Thumbnail 1.png', 'public://images/Thumbnail%201.png', 'image/png', '3974', '1');
    $this->assertEntity(6, 'TherMaxx 3mm - Black - Mens - Small.jpeg', 'public://images/TherMaxx%203mm%20-%20Black%20-%20Mens%20-%20Small.jpeg', 'image/jpeg', '4789', '1');
    $this->assertEntity(20, 'Aquaseal 8oz.jpeg', 'public://images/Aquaseal%208oz.jpeg', 'image/jpeg', '6131', '1');
    $this->assertEntity(21, 'Thumbnail 2.png', 'public://images/Thumbnail%202.png', 'image/png', '5424', '1');
    $this->assertEntity(22, 'Zip Care*.jpeg', 'public://images/Zip%20Care%2A.jpeg', 'image/jpeg', '4789', '1');
    $this->assertEntity(23, 'Thumbnail 3.png', 'public://images/Thumbnail%203.png', 'image/png', '3905', '1');
    $this->assertEntity(34, 'Hero 5 - Black.jpeg', 'public://images/Hero%205%20-%20Black.jpeg', 'image/jpeg', '4789', '1');
    $this->assertEntity(35, 'image3.png', 'public://images/image3.png', 'image/png', '3905', '1');
    // CTA files.
    $this->assertEntity(4, 'flying.jpeg', 'public://images/flying.jpeg', 'image/jpeg', '4789', '1');
    $this->assertEntity(5, 'rainbow.png', 'public://images/rainbow.png', 'image/png', '5424', '1');
  }

}

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

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