public function AjaxFileManagedMultipleTest::testMultipleFilesUpload in Drupal 8
Same name and namespace in other branches
- 9 core/modules/file/tests/src/FunctionalJavascript/AjaxFileManagedMultipleTest.php \Drupal\Tests\file\FunctionalJavascript\AjaxFileManagedMultipleTest::testMultipleFilesUpload()
Test if managed file form element works well with multiple files upload.
File
- core/
modules/ file/ tests/ src/ FunctionalJavascript/ AjaxFileManagedMultipleTest.php, line 33
Class
- AjaxFileManagedMultipleTest
- Tests ajax upload to managed files.
Namespace
Drupal\Tests\file\FunctionalJavascriptCode
public function testMultipleFilesUpload() {
$file_system = \Drupal::service('file_system');
$file_storage = \Drupal::entityTypeManager()
->getStorage('file');
$page = $this
->getSession()
->getPage();
$this
->drupalGet(Url::fromRoute('file_module_test.managed_test', [
'multiple' => TRUE,
]));
$paths = [];
foreach (array_slice($this
->drupalGetTestFiles('image'), 0, 2) as $image) {
$paths[] = $image->filename;
$page
->attachFileToField('files[nested_file][]', $file_system
->realpath($image->uri));
$this
->assertSession()
->assertWaitOnAjaxRequest();
}
// Save entire form.
$page
->pressButton('Save');
$this
->assertSession()
->pageTextContains('The file ids are 1,2.');
$this
->assertCount(2, $file_storage
->loadByProperties([
'filename' => $paths,
]));
}