MigrateUploadEntityDisplayTest.php

Same filename in other branches
  1. 8.9.x core/modules/file/tests/src/Kernel/Migrate/d6/MigrateUploadEntityDisplayTest.php
  2. 10 core/modules/file/tests/src/Kernel/Migrate/d6/MigrateUploadEntityDisplayTest.php
  3. 11.x core/modules/file/tests/src/Kernel/Migrate/d6/MigrateUploadEntityDisplayTest.php

Namespace

Drupal\Tests\file\Kernel\Migrate\d6

File

core/modules/file/tests/src/Kernel/Migrate/d6/MigrateUploadEntityDisplayTest.php

View source
<?php

namespace Drupal\Tests\file\Kernel\Migrate\d6;

use Drupal\Core\Entity\Entity\EntityViewDisplay;
use Drupal\Tests\migrate_drupal\Kernel\d6\MigrateDrupal6TestBase;

/**
 * Upload entity display.
 *
 * @group migrate_drupal_6
 */
class MigrateUploadEntityDisplayTest extends MigrateDrupal6TestBase {
    
    /**
     * {@inheritdoc}
     */
    protected static $modules = [
        'menu_ui',
    ];
    
    /**
     * {@inheritdoc}
     */
    protected function setUp() : void {
        parent::setUp();
        $this->migrateFields();
    }
    
    /**
     * Tests Drupal 6 upload settings to Drupal 8 entity display migration.
     */
    public function testUploadEntityDisplay() {
        $this->executeMigration('d6_upload_entity_display');
        $display = EntityViewDisplay::load('node.page.default');
        $component = $display->getComponent('upload');
        $this->assertSame('file_default', $component['type']);
        $display = EntityViewDisplay::load('node.story.default');
        $component = $display->getComponent('upload');
        $this->assertSame('file_default', $component['type']);
        // Assure this doesn't exist.
        $display = EntityViewDisplay::load('node.article.default');
        $component = $display->getComponent('upload');
        $this->assertNull($component);
        $this->assertSame([
            [
                'node',
                'page',
                'default',
                'upload',
            ],
        ], $this->getMigration('d6_upload_entity_display')
            ->getIdMap()
            ->lookupDestinationIds([
            'page',
        ]));
    }
    
    /**
     * Tests that entity displays are ignored appropriately.
     *
     * Entity displays should be ignored when they belong to node types which
     * were not migrated.
     */
    public function testSkipNonExistentNodeType() {
        // The "story" node type is migrated by d6_node_type but we need to pretend
        // that it didn't occur, so record that in the map table.
        $this->mockFailure('d6_node_type', [
            'type' => 'story',
        ]);
        // d6_upload_entity_display should skip over the "story" node type config
        // because, according to the map table, it didn't occur.
        $migration = $this->getMigration('d6_upload_entity_display');
        $this->executeMigration($migration);
        $this->assertNull($migration->getIdMap()
            ->lookupDestinationIds([
            'node_type' => 'story',
        ])[0][0]);
    }

}

Classes

Title Deprecated Summary
MigrateUploadEntityDisplayTest Upload entity display.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.