MigrateForumTest.php

Namespace

Drupal\Tests\forum\Kernel\Migrate\d6

File

core/modules/forum/tests/src/Kernel/Migrate/d6/MigrateForumTest.php

View source
<?php

declare (strict_types=1);
namespace Drupal\Tests\forum\Kernel\Migrate\d6;

use Drupal\Core\Entity\Entity\EntityFormDisplay;
use Drupal\Core\Entity\Entity\EntityViewDisplay;
use Drupal\field\Entity\FieldConfig;
use Drupal\field\Entity\FieldStorageConfig;
use Drupal\node\Entity\Node;
use Drupal\Tests\node\Kernel\Migrate\d6\MigrateNodeTestBase;

/**
 * Tests forum migration from Drupal 6 to Drupal 8.
 *
 * @group migrate_drupal_6
 * @group legacy
 */
class MigrateForumTest extends MigrateNodeTestBase {
  
  /**
   * {@inheritdoc}
   */
  protected static $modules = [
    'comment',
    'forum',
    'menu_ui',
    'taxonomy',
  ];
  
  /**
   * {@inheritdoc}
   */
  protected function setUp() : void {
    parent::setUp();
    $this->installEntitySchema('comment');
    $this->installSchema('comment', [
      'comment_entity_statistics',
    ]);
    $this->installSchema('forum', [
      'forum',
      'forum_index',
    ]);
    $this->installConfig([
      'comment',
      'forum',
    ]);
    $this->migrateContent();
    $this->migrateTaxonomy();
    $this->executeMigrations([
      'd6_comment_type',
      'd6_comment_field',
      'd6_comment_field_instance',
      'd6_comment_entity_display',
      'd6_comment_entity_form_display',
      'd6_comment',
      'd6_term_node',
    ]);
  }
  
  /**
   * Gets the path to the fixture file.
   */
  protected function getFixtureFilePath() {
    return __DIR__ . '/../../../../fixtures/drupal6.php';
  }
  
  /**
   * Tests forum migration.
   */
  public function testForumMigration() : void {
    // Tests that the taxonomy_forums field storage config exists.
    $field_storage_config = FieldStorageConfig::load('node.taxonomy_forums');
    $this->assertInstanceOf(FieldStorageConfig::class, $field_storage_config);
    // Tests that the taxonomy_forums field config exists.
    $field_config = FieldConfig::load('node.forum.taxonomy_forums');
    $this->assertInstanceOf(FieldConfig::class, $field_config);
    // Tests that the taxonomy_forums entity view display component exists.
    $entity_view_display = EntityViewDisplay::load('node.forum.default')->getComponent('taxonomy_forums');
    $this->assertIsArray($entity_view_display);
    // Tests that the taxonomy_forums entity form display component exists.
    $entity_form_display = EntityFormDisplay::load('node.forum.default')->getComponent('taxonomy_forums');
    $this->assertIsArray($entity_form_display);
    // Test that the taxonomy_forums field has the right value.
    $node = Node::load(19);
    $this->assertEquals(8, $node->taxonomy_forums->target_id);
  }

}

Classes

Title Deprecated Summary
MigrateForumTest Tests forum migration from Drupal 6 to Drupal 8.

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