Version 1
[yaffs-website] / web / core / modules / user / tests / src / Kernel / Plugin / migrate / source / d7 / RoleTest.php
diff --git a/web/core/modules/user/tests/src/Kernel/Plugin/migrate/source/d7/RoleTest.php b/web/core/modules/user/tests/src/Kernel/Plugin/migrate/source/d7/RoleTest.php
new file mode 100644 (file)
index 0000000..d2d43a4
--- /dev/null
@@ -0,0 +1,72 @@
+<?php
+
+namespace Drupal\Tests\user\Kernel\Plugin\migrate\source\d7;
+
+use Drupal\Tests\migrate\Kernel\MigrateSqlSourceTestBase;
+
+/**
+ * Tests the d7_user_role source plugin.
+ *
+ * @covers \Drupal\user\Plugin\migrate\source\d7\Role
+ * @group user
+ */
+class RoleTest extends MigrateSqlSourceTestBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public static $modules = ['migrate_drupal', 'user'];
+
+  /**
+   * {@inheritdoc}
+   */
+  public function providerSource() {
+    $expected = [
+      [
+        'rid' => 1,
+        'name' => 'anonymous user',
+        'permissions' => [
+          'access content',
+        ],
+      ],
+      [
+        'rid' => 2,
+        'name' => 'authenticated user',
+        'permissions' => [
+          'access comments',
+          'access content',
+          'post comments',
+          'post comments without approval',
+        ],
+      ],
+      [
+        'rid' => 3,
+        'name' => 'administrator',
+        'permissions' => [
+          'access comments',
+          'administer comments',
+          'post comments',
+          'post comments without approval',
+          'access content',
+          'administer content types',
+          'administer nodes',
+        ],
+      ],
+    ];
+    $data = [
+      [[], $expected],
+    ];
+    foreach ($expected as $row) {
+      foreach ($row['permissions'] as $permission) {
+        $data[0][0]['role_permission'][] = [
+          'permission' => $permission,
+          'rid' => $row['rid'],
+        ];
+      }
+      unset($row['permissions']);
+      $data[0][0]['role'][] = $row;
+    }
+    return $data;
+  }
+
+}