Chris@0
|
1 <?php
|
Chris@0
|
2
|
Chris@0
|
3 namespace Drupal\Tests\media\Functional;
|
Chris@0
|
4
|
Chris@0
|
5 use Drupal\Tests\BrowserTestBase;
|
Chris@0
|
6
|
Chris@0
|
7 /**
|
Chris@0
|
8 * Tests media Install / Uninstall logic.
|
Chris@0
|
9 *
|
Chris@0
|
10 * @group media
|
Chris@0
|
11 */
|
Chris@0
|
12 class MediaInstallTest extends BrowserTestBase {
|
Chris@0
|
13
|
Chris@0
|
14 /**
|
Chris@0
|
15 * {@inheritdoc}
|
Chris@0
|
16 */
|
Chris@0
|
17 public static $modules = ['media'];
|
Chris@0
|
18
|
Chris@0
|
19 /**
|
Chris@0
|
20 * {@inheritdoc}
|
Chris@0
|
21 */
|
Chris@0
|
22 protected function setUp() {
|
Chris@0
|
23 parent::setUp();
|
Chris@0
|
24 $this->drupalLogin($this->drupalCreateUser(['administer modules']));
|
Chris@0
|
25 }
|
Chris@0
|
26
|
Chris@0
|
27 /**
|
Chris@0
|
28 * Tests reinstalling after being uninstalled.
|
Chris@0
|
29 */
|
Chris@0
|
30 public function testReinstallAfterUninstall() {
|
Chris@0
|
31 $page = $this->getSession()->getPage();
|
Chris@0
|
32 $assert_session = $this->assertSession();
|
Chris@0
|
33
|
Chris@0
|
34 // Uninstall the media module.
|
Chris@0
|
35 $this->container->get('module_installer')->uninstall(['media'], FALSE);
|
Chris@0
|
36
|
Chris@0
|
37 // Install the media module again, through a test module that depends on it.
|
Chris@0
|
38 // Note: We use a test module because in 8.4 the media module is hidden.
|
Chris@0
|
39 // @todo Simplify this in https://www.drupal.org/node/2897028 once it's
|
Chris@0
|
40 // shown again.
|
Chris@0
|
41 $this->drupalGet('/admin/modules');
|
Chris@0
|
42 $page->checkField('modules[media_test_views][enable]');
|
Chris@0
|
43 $page->pressButton('Install');
|
Chris@0
|
44 $assert_session->pageTextContains('Some required modules must be enabled');
|
Chris@0
|
45 $page->pressButton('Continue');
|
Chris@0
|
46 $this->assertSession()->pageTextNotContains('could not be moved/copied because a file by that name already exists in the destination directory');
|
Chris@0
|
47 }
|
Chris@0
|
48
|
Chris@0
|
49 }
|