EntityCloneFileTest.php in Entity Clone 8
File
tests/src/Functional/EntityCloneFileTest.php
View source
<?php
namespace Drupal\Tests\entity_clone\Functional;
use Drupal\file\Entity\File;
use Drupal\Tests\BrowserTestBase;
class EntityCloneFileTest extends BrowserTestBase {
public static $modules = [
'entity_clone',
'file',
];
protected $defaultTheme = 'classy';
protected $permissions = [
'clone file entity',
];
protected $adminUser;
protected function setUp() : void {
parent::setUp();
$this->adminUser = $this
->drupalCreateUser($this->permissions);
$this
->drupalLogin($this->adminUser);
}
public function testFileEntityClone() {
$file = File::create([
'uid' => 1,
'filename' => 'druplicon.txt',
'uri' => 'public://druplicon.txt',
'filemime' => 'text/plain',
'status' => FILE_STATUS_PERMANENT,
]);
file_put_contents($file
->getFileUri(), 'hello world');
$file
->save();
$this
->drupalPostForm('entity_clone/file/' . $file
->id(), [], t('Clone'));
$files = \Drupal::entityTypeManager()
->getStorage('file')
->loadByProperties([
'filename' => 'druplicon.txt - Cloned',
]);
$file = reset($files);
$this
->assertInstanceOf(File::class, $file, 'Test file cloned found in database.');
$this
->assertEqual($file
->getFileUri(), 'public://druplicon_0.txt', 'The stored file is also cloned.');
}
}