Updated to Drupal 8.5. Core Media not yet in use.
[yaffs-website] / web / modules / contrib / devel / tests / src / Functional / DevelModulesReinstallTest.php
diff --git a/web/modules/contrib/devel/tests/src/Functional/DevelModulesReinstallTest.php b/web/modules/contrib/devel/tests/src/Functional/DevelModulesReinstallTest.php
new file mode 100644 (file)
index 0000000..5068f2c
--- /dev/null
@@ -0,0 +1,60 @@
+<?php
+
+namespace Drupal\Tests\devel\Functional;
+
+use Drupal\Tests\BrowserTestBase;
+
+/**
+ * Tests reinstall modules.
+ *
+ * @group devel
+ */
+class DevelModulesReinstallTest extends BrowserTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = ['devel'];
+
+  /**
+   * The profile to install as a basis for testing.
+   *
+   * @var string
+   */
+  protected $profile = 'minimal';
+
+  /**
+   * Set up test.
+   */
+  protected function setUp() {
+    parent::setUp();
+
+    $web_user = $this->drupalCreateUser(['administer site configuration']);
+    $this->drupalLogin($web_user);
+  }
+
+  /**
+   * Reinstall modules.
+   */
+  public function testDevelReinstallModules() {
+    // Minimal profile enables only dblog, block and node.
+    $modules = ['dblog', 'block'];
+
+    // Needed for compare correctly the message.
+    sort($modules);
+
+    $this->drupalGet('devel/reinstall');
+
+    // Prepare field data in an associative array
+    $edit = [];
+    foreach ($modules as $module) {
+      $edit["reinstall[$module]"] = TRUE;
+    }
+
+    $this->drupalPostForm('devel/reinstall', $edit, t('Reinstall'));
+    $this->assertText(t('Uninstalled and installed: @names.', ['@names' => implode(', ', $modules)]));
+  }
+
+}