MigrateCommentFieldTest.php

Namespace

Drupal\Tests\comment\Kernel\Migrate\d7

File

core/modules/comment/tests/src/Kernel/Migrate/d7/MigrateCommentFieldTest.php

View source
<?php

declare (strict_types=1);
namespace Drupal\Tests\comment\Kernel\Migrate\d7;

use Drupal\field\Entity\FieldStorageConfig;
use Drupal\Tests\migrate_drupal\Kernel\d7\MigrateDrupal7TestBase;
use PHPUnit\Framework\Attributes\Group;
use PHPUnit\Framework\Attributes\RunTestsInSeparateProcesses;

/**
 * Tests the migration of comment fields from Drupal 7.
 */
class MigrateCommentFieldTest extends MigrateDrupal7TestBase {
  
  /**
   * {@inheritdoc}
   */
  protected static $modules = [
    'node',
    'comment',
    'text',
  ];
  
  /**
   * {@inheritdoc}
   */
  protected function setUp() : void {
    parent::setUp();
    $this->migrateCommentTypes();
    $this->executeMigration('d7_comment_field');
  }
  
  /**
   * Asserts a comment field entity.
   *
   * @param string $comment_type
   *   The comment type.
   *
   * @internal
   */
  protected function assertEntity(string $comment_type) : void {
    $entity = FieldStorageConfig::load('node.' . $comment_type);
    $this->assertInstanceOf(FieldStorageConfig::class, $entity);
    $this->assertSame('node', $entity->getTargetEntityTypeId());
    $this->assertSame('comment', $entity->getType());
    $this->assertSame($comment_type, $entity->getSetting('comment_type'));
  }
  
  /**
   * Tests the migrated comment fields.
   */
  public function testMigration() : void {
    $this->assertEntity('comment_node_page');
    $this->assertEntity('comment_node_article');
    $this->assertEntity('comment_node_blog');
    $this->assertEntity('comment_node_book');
    $this->assertEntity('comment_forum');
    $this->assertEntity('comment_node_test_content_type');
    $this->assertEntity('comment_node_et');
  }

}

Classes

Title Deprecated Summary
MigrateCommentFieldTest Tests the migration of comment fields from Drupal 7.

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