Chris@18: 3]; Chris@18: $this->createFileField('field_file', 'entity_test', 'entity_test', $storage_settings); Chris@18: $this->drupalLogin($this->drupalCreateUser([ Chris@18: 'administer entity_test content', Chris@18: 'access content', Chris@18: ])); Chris@18: } Chris@18: Chris@18: /** Chris@18: * Tests uploading remote files. Chris@18: */ Chris@18: public function testGetRemoteFilePath() { Chris@18: $web_driver = $this->getSession()->getDriver(); Chris@18: $file_system = \Drupal::service('file_system'); Chris@18: $entity = EntityTest::create(); Chris@18: $entity->save(); Chris@18: Chris@18: $files = array_slice($this->getTestFiles('text'), 0, 3); Chris@18: $real_paths = []; Chris@18: foreach ($files as $file) { Chris@18: $real_paths[] = $file_system->realpath($file->uri); Chris@18: } Chris@18: $remote_paths = []; Chris@18: foreach ($real_paths as $path) { Chris@18: $remote_paths[] = $web_driver->uploadFileAndGetRemoteFilePath($path); Chris@18: } Chris@18: Chris@18: // Tests that uploading multiple remote files works with remote path. Chris@18: $this->drupalGet($entity->toUrl('edit-form')); Chris@18: $multiple_field = $this->xpath('//input[@multiple]')[0]; Chris@18: $multiple_field->setValue(implode("\n", $remote_paths)); Chris@18: $this->assertSession()->assertWaitOnAjaxRequest(); Chris@18: $this->getSession()->getPage()->findButton('Save')->click(); Chris@18: $entity = EntityTest::load($entity->id()); Chris@18: $this->assertCount(3, $entity->field_file); Chris@18: } Chris@18: Chris@18: }