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'); } }