EntityCloneCustomBlockTest.php in Entity Clone 8
File
tests/src/Functional/EntityCloneCustomBlockTest.php
View source
<?php
namespace Drupal\Tests\entity_clone\Functional;
use Drupal\block_content\Entity\BlockContent;
use Drupal\Tests\block_content\Functional\BlockContentTestBase;
class EntityCloneCustomBlockTest extends BlockContentTestBase {
public static $modules = [
'entity_clone',
'block',
'block_content',
];
protected $defaultTheme = 'classy';
protected $permissions = [
'administer blocks',
'clone block_content entity',
];
protected function setUp() : void {
parent::setUp();
$this
->drupalLogin($this->adminUser);
}
public function testCustomBlockEntityClone() {
$edit = [];
$edit['info[0][value]'] = 'Test block ready to clone';
$edit['body[0][value]'] = $this
->randomMachineName(16);
$this
->drupalPostForm('block/add/basic', $edit, t('Save'));
$blocks = \Drupal::entityTypeManager()
->getStorage('block_content')
->loadByProperties([
'info' => $edit['info[0][value]'],
]);
$block = reset($blocks);
$this
->assertInstanceOf(BlockContent::class, $block, 'Test Block for clone found in database.');
$this
->drupalPostForm('entity_clone/block_content/' . $block
->id(), [], t('Clone'));
$blocks = \Drupal::entityTypeManager()
->getStorage('block_content')
->loadByProperties([
'info' => $edit['info[0][value]'] . ' - Cloned',
'body' => $edit['body[0][value]'],
]);
$block = reset($blocks);
$this
->assertInstanceOf(BlockContent::class, $block, 'Test Block cloned found in database.');
}
}