namespace Drupal\Tests\comment\Kernel\Migrate\d7;
-use Drupal\comment\CommentTypeInterface;
use Drupal\comment\Entity\CommentType;
use Drupal\Tests\migrate_drupal\Kernel\d7\MigrateDrupal7TestBase;
/**
- * Tests migration of comment types from Drupal 7.
+ * Tests the migration of comment types from Drupal 7.
*
* @group comment
+ * @group migrate_drupal_7
*/
class MigrateCommentTypeTest extends MigrateDrupal7TestBase {
- public static $modules = ['node', 'comment', 'text', 'menu_ui'];
+ /**
+ * {@inheritdoc}
+ */
+ public static $modules = ['node', 'comment', 'text'];
/**
* {@inheritdoc}
*/
protected function setUp() {
parent::setUp();
- $this->installConfig(static::$modules);
- $this->executeMigrations([
- 'd7_node_type',
- 'd7_comment_type',
- ]);
+ $this->installConfig(['comment']);
+ $this->executeMigration('d7_comment_type');
}
/**
*/
protected function assertEntity($id, $label) {
$entity = CommentType::load($id);
- $this->assertTrue($entity instanceof CommentTypeInterface);
- /** @var \Drupal\comment\CommentTypeInterface $entity */
- $this->assertIdentical($label, $entity->label());
- $this->assertIdentical('node', $entity->getTargetEntityTypeId());
+ $this->assertInstanceOf(CommentType::class, $entity);
+ $this->assertSame($label, $entity->label());
+ $this->assertSame('node', $entity->getTargetEntityTypeId());
}
/**
* Tests the migrated comment types.
*/
public function testMigration() {
- $this->assertEntity('comment_node_page', 'Basic page comment');
+ $comment_fields = [
+ 'comment' => 'Default comment setting',
+ 'comment_default_mode' => 'Default display mode',
+ 'comment_default_per_page' => 'Default comments per page',
+ 'comment_anonymous' => 'Anonymous commenting',
+ 'comment_subject_field' => 'Comment subject field',
+ 'comment_preview' => 'Preview comment',
+ 'comment_form_location' => 'Location of comment submission form',
+ ];
+ $this->assertArraySubset($comment_fields, $this->migration->getSourcePlugin()->fields());
+
$this->assertEntity('comment_node_article', 'Article comment');
$this->assertEntity('comment_node_blog', 'Blog entry comment');
$this->assertEntity('comment_node_book', 'Book page comment');
- $this->assertEntity('comment_node_forum', 'Forum topic comment');
+ $this->assertEntity('comment_forum', 'Forum topic comment');
+ $this->assertEntity('comment_node_page', 'Basic page comment');
$this->assertEntity('comment_node_test_content_type', 'Test content type comment');
-
- $migration = $this->getMigration('d7_comment_type');
- // Validate that the source count and processed count match up.
- $this->assertIdentical($migration->getSourcePlugin()->count(), $migration->getIdMap()->processedCount());
}
}