3 namespace Drupal\Tests\media\Functional\Update;
5 use Drupal\FunctionalTests\Update\UpdatePathTestBase;
6 use Drupal\user\Entity\Role;
9 * Tests that media settings are properly updated during database updates.
14 class MediaUpdateTest extends UpdatePathTestBase {
19 protected function setDatabaseDumpFiles() {
20 $this->databaseDumpFiles = [
21 __DIR__ . '/../../../../../system/tests/fixtures/update/drupal-8.4.0.bare.standard.php.gz',
22 __DIR__ . '/../../../fixtures/update/drupal-8.4.0-media_installed.php',
23 __DIR__ . '/../../../fixtures/update/drupal-8.media-add-additional-permissions.php',
28 * Tests that media permissions are correctly migrated.
30 * @see media_update_8500()
32 public function testBundlePermission() {
35 /** @var \Drupal\user\RoleInterface $role */
36 $role = Role::load(Role::AUTHENTICATED_ID);
38 $media_types = \Drupal::entityQuery('media_type')->execute();
39 foreach ($media_types as $media_type) {
40 $this->assertTrue($role->hasPermission("create $media_type media"));
41 $this->assertTrue($role->hasPermission("edit own $media_type media"));
42 $this->assertTrue($role->hasPermission("edit any $media_type media"));
43 $this->assertTrue($role->hasPermission("delete own $media_type media"));
44 $this->assertTrue($role->hasPermission("delete any $media_type media"));
49 * Tests that media.settings config is updated with oEmbed configuration.
51 * @see media_update_8600()
53 public function testOEmbedConfig() {
54 $config = $this->config('media.settings');
55 $this->assertNull($config->get('oembed_providers_url'));
56 $this->assertNull($config->get('iframe_domain'));
60 $config = $this->config('media.settings');
61 $this->assertSame('https://oembed.com/providers.json', $config->get('oembed_providers_url'));
62 $this->assertSame('', $config->get('iframe_domain'));