EntityCloneContentTest.php in Entity Clone 8
File
tests/src/Functional/EntityCloneContentTest.php
View source
<?php
namespace Drupal\Tests\entity_clone\Functional;
use Drupal\node\Entity\Node;
use Drupal\Tests\field\Traits\EntityReferenceTestTrait;
use Drupal\Tests\node\Functional\NodeTestBase;
class EntityCloneContentTest extends NodeTestBase {
use EntityReferenceTestTrait;
public static $modules = [
'entity_clone',
'block',
'node',
'datetime',
'taxonomy',
];
protected $defaultTheme = 'classy';
protected $permissions = [
'bypass node access',
'administer nodes',
'clone node entity',
];
protected $adminUser;
protected function setUp() : void {
parent::setUp();
$this->adminUser = $this
->drupalCreateUser($this->permissions);
$this
->drupalLogin($this->adminUser);
}
public function testContentEntityClone() {
$node_title = $this
->randomMachineName(8);
$node = Node::create([
'type' => 'page',
'title' => $node_title,
]);
$node
->save();
$this
->drupalPostForm('entity_clone/node/' . $node
->id(), [], t('Clone'));
$nodes = \Drupal::entityTypeManager()
->getStorage('node')
->loadByProperties([
'title' => $node_title . ' - Cloned',
]);
$node = reset($nodes);
$this
->assertInstanceOf(Node::class, $node, 'Test node cloned found in database.');
}
public function testContentReferenceConfigEntity() {
$this
->createEntityReferenceField('node', 'page', 'config_field_reference', 'Config field reference', 'taxonomy_vocabulary');
$node_title = $this
->randomMachineName(8);
$node = Node::create([
'type' => 'page',
'title' => $node_title,
'config_field_reference' => 'tags',
]);
$node
->save();
$this
->drupalGet('entity_clone/node/' . $node
->id());
$this
->assertSession()
->elementNotExists('css', '#edit-recursive-nodepageconfig-field-reference');
}
}