+++ /dev/null
-<?php
-
-namespace Drupal\Tests\media\FunctionalJavascript;
-
-use Drupal\FunctionalJavascriptTests\JavascriptTestBase;
-
-/**
- * Ensures that embedding functionality works perfectly.
- *
- * @group media
- */
-class EmbedButtonTest extends JavascriptTestBase {
-
- /**
- * {@inheritdoc}
- */
- public static $modules = [
- 'node',
- 'path',
- 'text',
- ];
-
- /**
- * {@inheritdoc}
- */
- public function setUp() {
- parent::setUp();
- // Manually installing modules to preserve the order.
- $this->installModule('media_embed_test');
- $this->installModule('media');
- $adminUser = $this->drupalCreateUser([
- 'access content',
- 'use text format basic_html',
- 'use text format full_html',
- 'access media_embed entity browser pages',
- 'view media',
- 'create media',
- 'update media',
- 'update any media',
- 'delete media',
- 'delete any media',
- 'access media overview',
- 'create page content',
- 'edit any page content',
- ]);
- $this->drupalLogin($adminUser);
- }
-
- /**
- * Tests that the entity embed dialog is working.
- */
- public function testMediaEmbedDialog() {
- // Find the button and click it to see if the modal opens.
- $this->drupalGet('node/add/page');
- $this->find('.cke_button__media')->click();
- $this->wait();
- $this->assertSession()->pageTextContains('Select media to embed');
-
- // Test for the button in the basic_html editor.
- $this->drupalGet('entity-embed/dialog/basic_html/media');
- $this->assertEquals(200, $this->getSession()->getStatusCode());
- $this->assertSession()->pageTextContains('Select media to embed');
-
- // Test for the button in the full_html editor.
- $this->drupalGet('entity-embed/dialog/full_html/media');
- $this->assertEquals(200, $this->getSession()->getStatusCode());
- $this->assertSession()->pageTextContains('Select media to embed');
-
- $this->drupalGet('entity-browser/iframe/media_embed');
- $this->assertEquals(200, $this->getSession()->getStatusCode());
- $filter = $this->getSession()->getPage()->find('css', 'input[name="name"]');
- $this->assertTrue($filter, "Found filter");
- }
-
- /**
- * Installs the module using module_handler service.
- *
- * @param string $module_name
- * Name of the module to install.
- */
- public function installModule($module_name) {
- if (!$this->container->get('module_handler')->moduleExists($module_name)) {
- $this->container->get('module_installer')->install(array($module_name));
- }
- }
-
- /**
- * Wait for AJAX.
- */
- protected function wait() {
- $this->getSession()->wait(20000, '(0 === jQuery.active)');
- }
-
- /**
- * Find an element based on a CSS selector.
- *
- * @param string $css_selector
- * A css selector to find an element for.
- *
- * @return \Behat\Mink\Element\NodeElement|null
- * The found element or null.
- */
- protected function find($css_selector) {
- return $this->getSession()->getPage()->find('css', $css_selector);
- }
-
-}