You are here

RoleTest.php in Drupal 8

File

core/modules/user/tests/src/Kernel/Plugin/migrate/source/d7/RoleTest.php
View source
<?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;
  }

}

Classes

Namesort descending Description
RoleTest Tests the d7_user_role source plugin.