View source
<?php
namespace Drupal\node\Tests\Migrate\d7;
use Drupal\migrate_drupal\Tests\d7\MigrateDrupal7TestBase;
use Drupal\node\Entity\Node;
use Drupal\node\NodeInterface;
class MigrateNodeTest extends MigrateDrupal7TestBase {
static $modules = array(
'comment',
'datetime',
'filter',
'image',
'link',
'node',
'taxonomy',
'telephone',
'text',
);
protected function setUp() {
parent::setUp();
$this
->installEntitySchema('node');
$this
->installEntitySchema('comment');
$this
->installEntitySchema('taxonomy_term');
$this
->installConfig(static::$modules);
$this
->installSchema('node', [
'node_access',
]);
$this
->installSchema('system', [
'sequences',
]);
$this
->executeMigrations([
'd7_user_role',
'd7_user',
'd7_node_type',
'd7_comment_type',
'd7_field',
'd7_field_instance',
'd7_node__test_content_type',
]);
}
protected function assertEntity($id, $type, $langcode, $title, $uid, $status, $created, $changed, $promoted, $sticky) {
$node = Node::load($id);
$this
->assertTrue($node instanceof NodeInterface);
$this
->assertIdentical($type, $node
->getType());
$this
->assertIdentical($langcode, $node->langcode->value);
$this
->assertIdentical($title, $node
->getTitle());
$this
->assertIdentical($uid, $node
->getOwnerId());
$this
->assertIdentical($status, $node
->isPublished());
$this
->assertIdentical($created, $node
->getCreatedTime());
if (isset($changed)) {
$this
->assertIdentical($changed, $node
->getChangedTime());
}
$this
->assertIdentical($promoted, $node
->isPromoted());
$this
->assertIdentical($sticky, $node
->isSticky());
}
protected function assertRevision($id, $title, $uid, $log, $timestamp) {
$revision = \Drupal::entityManager()
->getStorage('node')
->loadRevision($id);
$this
->assertTrue($revision instanceof NodeInterface);
$this
->assertIdentical($title, $revision
->getTitle());
$this
->assertIdentical($uid, $revision
->getRevisionAuthor()
->id());
$this
->assertIdentical($log, $revision->revision_log->value);
$this
->assertIdentical($timestamp, $revision
->getRevisionCreationTime());
}
public function testNode() {
$this
->assertEntity(1, 'test_content_type', 'en', 'A Node', '2', TRUE, '1421727515', '1441032132', TRUE, FALSE);
$this
->assertRevision(1, 'A Node', '1', NULL, '1441032132');
$node = Node::load(1);
$this
->assertTrue($node->field_boolean->value);
$this
->assertIdentical('99-99-99-99', $node->field_phone->value);
$this
->assertEqual('1', $node->field_float->value);
$this
->assertIdentical('5', $node->field_integer->value);
$this
->assertIdentical('Some more text', $node->field_text_list[0]->value);
$this
->assertIdentical('7', $node->field_integer_list[0]->value);
$this
->assertIdentical('qwerty', $node->field_text->value);
}
}