diff -u b/core/modules/media_library/tests/modules/media_library_test/media_library_test.info.yml b/core/modules/media_library/tests/modules/media_library_test/media_library_test.info.yml --- b/core/modules/media_library/tests/modules/media_library_test/media_library_test.info.yml +++ b/core/modules/media_library/tests/modules/media_library_test/media_library_test.info.yml @@ -9 +9,3 @@ + - drupal:menu_ui - drupal:node + - drupal:path only in patch2: unchanged: --- /dev/null +++ b/core/modules/media_library/tests/src/FunctionalJavascript/MediaLibraryTest.php @@ -0,0 +1,80 @@ + [ + 'media_1', + 'media_2', + ], + 'type_two' => [ + 'media_3', + 'media_4', + ], + ]; + + foreach ($media as $type => $names) { + foreach ($names as $name) { + Media::create(['name' => $name, 'bundle' => $type])->save(); + } + } + + // Create a user who can use the Media Library. + $user = $this->drupalCreateUser([ + 'access content', + 'access content overview', + 'access administration pages', + 'administer media', + 'create media_library_test content', + 'edit own media_library_test content', + 'delete any media', + 'delete own media_library_test content', + 'view media', + ]); + $this->drupalLogin($user); + $this->drupalPlaceBlock('local_tasks_block'); + } + + /** + * Tests that the Media Library's administration page works as expected. + */ + public function testAdministrationPage() { + // Visit the administration page. + $this->drupalGet('admin/content/media'); + + // Verify that media from two separate types is present. + $this->assertSession()->pageTextContains('media_1'); + $this->assertSession()->pageTextContains('media_3'); + + // Test the tabs that allow users to filter by type. + $this->clickLink('Type One'); + $this->assertSession()->pageTextContains('media_2'); + $this->assertSession()->pageTextNotContains('media_4'); + $this->clickLink('Type Two'); + $this->assertSession()->pageTextNotContains('media_2'); + $this->assertSession()->pageTextContains('media_4'); + } + +}