public function CkEditorMediaBrowserTest::testImageEmbed in Lightning Media 8.2
Tests that the image embed plugin is used to embed an image.
@depends testExposedFilters
File
- tests/
src/ ExistingSiteJavascript/ CkEditorMediaBrowserTest.php, line 178
Class
- CkEditorMediaBrowserTest
- @group lightning @group lightning_media
Namespace
Drupal\Tests\lightning_media\ExistingSiteJavascriptCode
public function testImageEmbed() {
$session = $this
->getSession();
/** @var \Drupal\Core\Entity\EntityStorageInterface $file_storage */
$file_storage = $this->container
->get('entity_type.manager')
->getStorage('file');
$uri = uniqid('public://') . '.png';
$uri = $this
->getRandomGenerator()
->image($uri, '640x480', '800x600');
$image = $file_storage
->create([
'uri' => $uri,
]);
$file_storage
->save($image);
$media = $this
->addMedia([
'bundle' => 'image',
'name' => 'Foobar',
'image' => $image
->id(),
]);
$media->image->alt = 'I am the greetest';
$this
->assertSame(SAVED_UPDATED, $media
->save());
$this
->visit('/node/add/page');
$this
->open();
$session
->switchToIFrame('entity_browser_iframe_media_browser');
$this->assert
->fieldExists('Type')
->selectOption('Image');
$this
->applyFilters();
$items = $this
->getItems();
$this
->assertGreaterThanOrEqual(1, count($items));
$items[0]
->click();
$this->assert
->buttonExists('Place')
->press();
$session
->switchToIFrame(NULL);
$this->assert
->assertWaitOnAjaxRequest();
$embed_dialog = $this->assert
->elementExists('css', 'form.entity-embed-dialog');
$this->assert
->optionExists('Image style', 'Cropped: Freeform', $embed_dialog);
$this->assert
->fieldValueEquals('Alternate text', 'I am the greetest', $embed_dialog);
$this->assert
->fieldValueEquals('attributes[title]', 'Foobar', $embed_dialog);
}