Security update for Core, with self-updated composer
[yaffs-website] / web / core / modules / system / tests / src / Functional / Module / HookRequirementsTest.php
diff --git a/web/core/modules/system/tests/src/Functional/Module/HookRequirementsTest.php b/web/core/modules/system/tests/src/Functional/Module/HookRequirementsTest.php
new file mode 100644 (file)
index 0000000..a873d96
--- /dev/null
@@ -0,0 +1,27 @@
+<?php
+
+namespace Drupal\Tests\system\Functional\Module;
+
+/**
+ * Attempts enabling a module that fails hook_requirements('install').
+ *
+ * @group Module
+ */
+class HookRequirementsTest extends ModuleTestBase {
+  /**
+   * Assert that a module cannot be installed if it fails hook_requirements().
+   */
+  public function testHookRequirementsFailure() {
+    $this->assertModules(['requirements1_test'], FALSE);
+
+    // Attempt to install the requirements1_test module.
+    $edit = [];
+    $edit['modules[requirements1_test][enable]'] = 'requirements1_test';
+    $this->drupalPostForm('admin/modules', $edit, t('Install'));
+
+    // Makes sure the module was NOT installed.
+    $this->assertText(t('Requirements 1 Test failed requirements'), 'Modules status has been updated.');
+    $this->assertModules(['requirements1_test'], FALSE);
+  }
+
+}