Version 1
[yaffs-website] / web / core / modules / user / tests / src / Kernel / UserActionConfigSchemaTest.php
diff --git a/web/core/modules/user/tests/src/Kernel/UserActionConfigSchemaTest.php b/web/core/modules/user/tests/src/Kernel/UserActionConfigSchemaTest.php
new file mode 100644 (file)
index 0000000..dfafb1d
--- /dev/null
@@ -0,0 +1,44 @@
+<?php
+
+namespace Drupal\Tests\user\Kernel;
+
+use Drupal\Tests\SchemaCheckTestTrait;
+use Drupal\KernelTests\KernelTestBase;
+use Drupal\user\Entity\Role;
+
+/**
+ * Ensures the user action for adding and removing roles have valid config
+ * schema.
+ *
+ * @group user
+ */
+class UserActionConfigSchemaTest extends KernelTestBase {
+
+  use SchemaCheckTestTrait;
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = ['system', 'user'];
+
+  /**
+   * Tests whether the user action config schema are valid.
+   */
+  public function testValidUserActionConfigSchema() {
+    $rid = strtolower($this->randomMachineName(8));
+    Role::create(['id' => $rid])->save();
+
+    // Test user_add_role_action configuration.
+    $config = $this->config('system.action.user_add_role_action.' . $rid);
+    $this->assertEqual($config->get('id'), 'user_add_role_action.' . $rid);
+    $this->assertConfigSchema(\Drupal::service('config.typed'), $config->getName(), $config->get());
+
+    // Test user_remove_role_action configuration.
+    $config = $this->config('system.action.user_remove_role_action.' . $rid);
+    $this->assertEqual($config->get('id'), 'user_remove_role_action.' . $rid);
+    $this->assertConfigSchema(\Drupal::service('config.typed'), $config->getName(), $config->get());
+  }
+
+}