public function EntityBrowserTest::testDropdownWidgetSelector in Entity Browser 8
Same name and namespace in other branches
- 8.2 tests/src/FunctionalJavascript/EntityBrowserTest.php \Drupal\Tests\entity_browser\FunctionalJavascript\EntityBrowserTest::testDropdownWidgetSelector()
Tests dropdown widget selector.
File
- tests/
src/ FunctionalJavascript/ EntityBrowserTest.php, line 205
Class
- EntityBrowserTest
- Tests the entity_browser.
Namespace
Drupal\Tests\entity_browser\FunctionalJavascriptCode
public function testDropdownWidgetSelector() {
// Sets the dropdown widget selector.
/** @var \Drupal\entity_browser\EntityBrowserInterface $browser */
$browser = $this->container
->get('entity_type.manager')
->getStorage('entity_browser')
->load('test_entity_browser_file')
->setWidgetSelector('drop_down');
$browser
->save();
$this
->assertEquals($browser
->getWidgetSelector()
->getPluginId(), 'drop_down', 'Widget selector is set to dropdown.');
// Create a file.
$image = $this
->createFile('llama');
$this
->drupalGet('node/add/article');
$this
->assertSession()
->linkExists('Select entities');
$this
->getSession()
->getPage()
->clickLink('Select entities');
$this
->getSession()
->switchToIFrame('entity_browser_iframe_test_entity_browser_file');
$this
->assertSession()
->selectExists('widget');
// Dummy.
$this
->assertSession()
->optionExists('widget', 'cbc59500-04ab-4395-b063-c561f0e3bf80');
// Upload.
$this
->assertSession()
->optionExists('widget', '2dc1ab07-2f8f-42c9-aab7-7eef7f8b7d87');
// View.
$this
->assertSession()
->optionExists('widget', '774798f1-5ec5-4b63-84bd-124cd51ec07d');
// Selects the view widget.
$this
->getSession()
->getPage()
->selectFieldOption('widget', '774798f1-5ec5-4b63-84bd-124cd51ec07d');
$this
->getSession()
->getPage()
->checkField('entity_browser_select[file:' . $image
->id() . ']');
$this
->getSession()
->getPage()
->pressButton('Select entities');
$this
->getSession()
->switchToIFrame();
$this
->waitForAjaxToFinish();
$this
->assertSession()
->pageTextContains('llama.jpg');
$this
->getSession()
->getPage()
->clickLink('Select entities');
$this
->getSession()
->switchToIFrame('entity_browser_iframe_test_entity_browser_file');
// Causes a fatal.
// Selects the upload widget.
// $this->getSession()
// ->getPage()
// ->selectFieldOption('widget', '2dc1ab07-2f8f-42c9-aab7-7eef7f8b7d87');.
\Drupal::state()
->set('eb_test_dummy_widget_access', FALSE);
$this
->drupalGet('entity-browser/iframe/test_entity_browser_file');
// Dummy.
$this
->assertSession()
->optionNotExists('widget', 'cbc59500-04ab-4395-b063-c561f0e3bf80');
// Upload.
$this
->assertSession()
->optionExists('widget', '2dc1ab07-2f8f-42c9-aab7-7eef7f8b7d87');
// View.
$this
->assertSession()
->optionExists('widget', '774798f1-5ec5-4b63-84bd-124cd51ec07d');
// Move dummy widget to the first place and make sure it does not appear.
$browser = $this->container
->get('entity_type.manager')
->getStorage('entity_browser')
->load('test_entity_browser_file');
$browser
->getWidget('cbc59500-04ab-4395-b063-c561f0e3bf80')
->setWeight(-15);
$browser
->save();
$this
->drupalGet('entity-browser/iframe/test_entity_browser_file');
// Dummy.
$this
->assertSession()
->optionNotExists('widget', 'cbc59500-04ab-4395-b063-c561f0e3bf80');
// Upload.
$this
->assertSession()
->optionExists('widget', '2dc1ab07-2f8f-42c9-aab7-7eef7f8b7d87');
// View.
$this
->assertSession()
->optionExists('widget', '774798f1-5ec5-4b63-84bd-124cd51ec07d');
$this
->assertSession()
->pageTextNotContains('This is dummy widget.');
}