Version 1
[yaffs-website] / web / core / modules / comment / tests / src / Kernel / Migrate / d7 / MigrateCommentTest.php
diff --git a/web/core/modules/comment/tests/src/Kernel/Migrate/d7/MigrateCommentTest.php b/web/core/modules/comment/tests/src/Kernel/Migrate/d7/MigrateCommentTest.php
new file mode 100644 (file)
index 0000000..42c2a30
--- /dev/null
@@ -0,0 +1,71 @@
+<?php
+
+namespace Drupal\Tests\comment\Kernel\Migrate\d7;
+
+use Drupal\comment\CommentInterface;
+use Drupal\comment\Entity\Comment;
+use Drupal\Tests\migrate_drupal\Kernel\d7\MigrateDrupal7TestBase;
+use Drupal\node\NodeInterface;
+
+/**
+ * Tests migration of comments from Drupal 7.
+ *
+ * @group comment
+ */
+class MigrateCommentTest extends MigrateDrupal7TestBase {
+
+  public static $modules = ['filter', 'node', 'comment', 'text', 'menu_ui'];
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function setUp() {
+    parent::setUp();
+
+    $this->installConfig(static::$modules);
+    $this->installEntitySchema('node');
+    $this->installEntitySchema('comment');
+
+    $this->executeMigrations([
+      'd7_filter_format',
+      'd7_user_role',
+      'd7_user',
+    ]);
+    $this->executeMigration('d7_node_type');
+    // We only need the test_content_type node migration to run for real, so
+    // mock all the others.
+    $this->prepareMigrations([
+      'd7_node' => [
+        [[0], [0]],
+      ],
+    ]);
+    $this->executeMigrations([
+      'd7_node',
+      'd7_comment_type',
+      'd7_comment',
+    ]);
+  }
+
+  /**
+   * Tests migration of comments from Drupal 7.
+   */
+  public function testCommentMigration() {
+    $comment = Comment::load(1);
+    $this->assertTrue($comment instanceof CommentInterface);
+    /** @var \Drupal\comment\CommentInterface $comment */
+    $this->assertIdentical('A comment', $comment->getSubject());
+    $this->assertIdentical('1421727536', $comment->getCreatedTime());
+    $this->assertIdentical('1421727536', $comment->getChangedTime());
+    $this->assertTrue($comment->getStatus());
+    $this->assertIdentical('admin', $comment->getAuthorName());
+    $this->assertIdentical('admin@local.host', $comment->getAuthorEmail());
+    $this->assertIdentical('This is a comment', $comment->comment_body->value);
+    $this->assertIdentical('filtered_html', $comment->comment_body->format);
+    $this->assertEquals('2001:db8:ffff:ffff:ffff:ffff:ffff:ffff', $comment->getHostname());
+
+    $node = $comment->getCommentedEntity();
+    $this->assertTrue($node instanceof NodeInterface);
+    $this->assertIdentical('1', $node->id());
+  }
+
+}