BulkUploadTest.php in Lightning Media 8.4
File
modules/lightning_media_bulk_upload/tests/src/FunctionalJavascript/BulkUploadTest.php
View source
<?php
namespace Drupal\Tests\lightning_media_bulk_upload\FunctionalJavascript;
use Drupal\FunctionalJavascriptTests\WebDriverTestBase;
class BulkUploadTest extends WebDriverTestBase {
protected $defaultTheme = 'stark';
protected static $modules = [
'block',
'lightning_media_audio',
'lightning_media_bulk_upload',
'lightning_media_document',
'lightning_media_image',
'lightning_media_video',
];
protected function setUp() {
parent::setUp();
$this
->drupalPlaceBlock('local_actions_block');
}
public function testBulkUpload() {
$page = $this
->getSession()
->getPage();
$account = $this
->drupalCreateUser([
'access media overview',
'create media',
'update media',
'dropzone upload files',
'view the administration theme',
]);
$this
->drupalLogin($account);
$this
->drupalGet('/admin/content/media-grid');
$this
->assertSession()
->linkExists('Bulk upload');
$this
->drupalGet('/admin/content/media');
$page
->clickLink('Bulk upload');
sleep(3);
$files = [
'test.jpg',
'test.mp3',
'test.mp4',
'test.pdf',
];
foreach ($files as $file) {
$file = __DIR__ . "/../../../../../tests/files/{$file}";
$this
->assertFileExists($file);
$this
->getSession()
->executeScript('Dropzone.instances[0].hiddenFileInput.name = "file"');
$page
->attachFileToField('file', $file);
sleep(3);
}
$page
->pressButton('Continue');
for ($i = 0; $i < count($files); $i++) {
$page
->pressButton('Save');
}
$saved_files = $this->container
->get('entity_type.manager')
->getStorage('file')
->loadByProperties([
'filename' => $files,
'uid' => $account
->id(),
]);
$this
->assertSame(count($saved_files), count($files));
$this
->drupalGet('/admin/content/media');
array_walk($files, [
$this
->assertSession(),
'pageTextContains',
]);
}
}