3 namespace Drupal\entity_browser\Tests;
5 use Drupal\entity_browser\Element\EntityBrowserElement;
6 use Drupal\simpletest\WebTestBase;
9 * Tests the entity browser form element.
11 * @group entity_browser
13 class FormElementTest extends WebTestBase {
20 public static $modules = ['entity_browser_test', 'node', 'views'];
25 * @var \Drupal\node\NodeInterface[]
32 protected function setUp() {
35 ->get('entity_type.manager')
36 ->getStorage('node_type')
42 $this->nodes[] = $this->drupalCreateNode();
43 $this->nodes[] = $this->drupalCreateNode();
47 * Tests the Entity browser form element.
49 public function testFormElement() {
50 $this->drupalGet('/test-element');
51 $this->assertLink('Select entities', 0, 'Trigger link found.');
52 $this->assertFieldByXPath("//input[@type='hidden' and @id='edit-fancy-entity-browser-target']", '', "Entity browser's hidden element found.");
55 'fancy_entity_browser[entity_ids]' => $this->nodes[0]->getEntityTypeId() . ':' . $this->nodes[0]->id() . ' ' . $this->nodes[1]->getEntityTypeId() . ':' . $this->nodes[1]->id(),
57 $this->drupalPostForm(NULL, $edit, 'Submit');
58 $expected = 'Selected entities: ' . $this->nodes[0]->label() . ', ' . $this->nodes[1]->label();
59 $this->assertText($expected, 'Selected entities detected.');
61 $default_entity = $this->nodes[0]->getEntityTypeId() . ':' . $this->nodes[0]->id();
62 $this->drupalGet('/test-element', ['query' => ['default_entity' => $default_entity, 'selection_mode' => EntityBrowserElement::SELECTION_MODE_EDIT]]);
63 $this->assertLink('Select entities', 0, 'Trigger link found.');
64 $this->assertFieldByXPath("//input[@type='hidden' and @id='edit-fancy-entity-browser-target']", $default_entity, "Entity browser's hidden element found.");
67 'fancy_entity_browser[entity_ids]' => $this->nodes[1]->getEntityTypeId() . ':' . $this->nodes[1]->id() . ' ' . $this->nodes[0]->getEntityTypeId() . ':' . $this->nodes[0]->id(),
69 $this->drupalPostForm(NULL, $edit, 'Submit');
70 $expected = 'Selected entities: ' . $this->nodes[1]->label() . ', ' . $this->nodes[0]->label();
71 $this->assertText($expected, 'Selected entities detected.');