public function BundleTest::testMediaBundleCreation in Video Embed Field 8
Same name and namespace in other branches
- 8.2 modules/video_embed_media/tests/src/Functional/BundleTest.php \Drupal\Tests\video_embed_media\Functional\BundleTest::testMediaBundleCreation()
Test the dialog form.
File
- modules/
video_embed_media/ tests/ src/ Functional/ BundleTest.php, line 34
Class
- BundleTest
- Test the video_embed_field media integration.
Namespace
Drupal\Tests\video_embed_media\FunctionalCode
public function testMediaBundleCreation() {
$this
->drupalLogin($this
->createAdminUser());
// Create a new media bundle.
$this
->drupalGet('admin/structure/media/add');
$this
->submitForm([
'label' => 'Video Bundle',
'id' => 'video_bundle',
'type' => 'video_embed_field',
], t('Save media bundle'));
$this
->assertSession()
->pageTextContains('The media bundle Video Bundle has been added.');
// Ensure the video field is added to the media entity.
$this
->drupalGet('admin/structure/media/manage/video_bundle/fields');
$this
->assertSession()
->pageTextContains('field_media_video_embed_field');
$this
->assertSession()
->pageTextContains('Video URL');
// Add a media entity with the new field.
$this
->drupalGet('media/add/video_bundle');
$this
->submitForm([
'name[0][value]' => 'Drupal video!',
'field_media_video_embed_field[0][value]' => 'https://www.youtube.com/watch?v=XgYu7-DQjDQ',
], 'Save');
// We should see the video thumbnail on the media page.
$this
->assertContains('video_thumbnails/XgYu7-DQjDQ.jpg', $this
->getSession()
->getPage()
->getHtml());
// Add another field and change the configured media field.
$this
->drupalGet('admin/structure/media/manage/video_bundle/fields/add-field');
$this
->submitForm([
'new_storage_type' => 'video_embed_field',
'label' => 'New Video Field',
'field_name' => 'new_video_field',
], 'Save and continue');
$this
->submitForm([], t('Save field settings'));
$this
->submitForm([], t('Save settings'));
// Update video source field.
$this
->drupalGet('admin/structure/media/manage/video_bundle');
$this
->submitForm([
'type_configuration[video_embed_field][source_field]' => 'field_new_video_field',
], t('Save media bundle'));
// Create a video, populating both video URL fields.
$this
->drupalGet('media/add/video_bundle');
$this
->submitForm([
'name[0][value]' => 'Another Video!',
'field_media_video_embed_field[0][value]' => 'https://www.youtube.com/watch?v=XgYu7-DQjDQ',
'field_new_video_field[0][value]' => 'https://www.youtube.com/watch?v=gnERPdAiuSo',
], t('Save'));
// We should see the newly configured video thumbnail, but not the original.
$this
->assertContains('video_thumbnails/gnERPdAiuSo.jpg', $this
->getSession()
->getPage()
->getHtml());
$this
->assertNotContains('video_thumbnails/XgYu7-DQjDQ.jpg', $this
->getSession()
->getPage()
->getHtml());
}