function MigrateUserRoleTest::testUserRole

Same name in this branch
  1. 8.9.x core/modules/user/tests/src/Kernel/Migrate/d6/MigrateUserRoleTest.php \Drupal\Tests\user\Kernel\Migrate\d6\MigrateUserRoleTest::testUserRole()
Same name in other branches
  1. 9 core/modules/user/tests/src/Kernel/Migrate/d6/MigrateUserRoleTest.php \Drupal\Tests\user\Kernel\Migrate\d6\MigrateUserRoleTest::testUserRole()
  2. 9 core/modules/user/tests/src/Kernel/Migrate/d7/MigrateUserRoleTest.php \Drupal\Tests\user\Kernel\Migrate\d7\MigrateUserRoleTest::testUserRole()
  3. 10 core/modules/user/tests/src/Kernel/Migrate/d6/MigrateUserRoleTest.php \Drupal\Tests\user\Kernel\Migrate\d6\MigrateUserRoleTest::testUserRole()
  4. 10 core/modules/user/tests/src/Kernel/Migrate/d7/MigrateUserRoleTest.php \Drupal\Tests\user\Kernel\Migrate\d7\MigrateUserRoleTest::testUserRole()
  5. 11.x core/modules/user/tests/src/Kernel/Migrate/d6/MigrateUserRoleTest.php \Drupal\Tests\user\Kernel\Migrate\d6\MigrateUserRoleTest::testUserRole()
  6. 11.x core/modules/user/tests/src/Kernel/Migrate/d7/MigrateUserRoleTest.php \Drupal\Tests\user\Kernel\Migrate\d7\MigrateUserRoleTest::testUserRole()

Tests user role migration.

File

core/modules/user/tests/src/Kernel/Migrate/d7/MigrateUserRoleTest.php, line 56

Class

MigrateUserRoleTest
Upgrade user roles to user.role.*.yml.

Namespace

Drupal\Tests\user\Kernel\Migrate\d7

Code

public function testUserRole() {
    $this->assertEntity('anonymous', 'anonymous user', 1);
    $this->assertEntity('authenticated', 'authenticated user', 2);
    $this->assertEntity('administrator', 'administrator', 3);
    // Test there are no duplicated roles.
    $roles = [
        'anonymous1',
        'authenticated1',
        'administrator1',
    ];
    $this->assertEmpty(Role::loadMultiple($roles));
    // Remove the map row for the administrator role and rerun the migration.
    // This will re-import the administrator role again.
    $id_map = $this->getMigration('d7_user_role')
        ->getIdMap();
    $id_map->delete([
        'rid' => 3,
    ]);
    $this->sourceDatabase
        ->insert('role')
        ->fields([
        'rid' => 4,
        'name' => 'test role',
        'weight' => 10,
    ])
        ->execute();
    $this->sourceDatabase
        ->insert('role_permission')
        ->fields([
        'rid' => 4,
        'permission' => 'access content',
        'module' => 'node',
    ])
        ->execute();
    $this->executeMigration('d7_user_role');
    // Test there are no duplicated roles.
    $roles = [
        'anonymous1',
        'authenticated1',
        'administrator1',
    ];
    $this->assertEmpty(Role::loadMultiple($roles));
    // Test that the existing roles have not changed.
    $this->assertEntity('administrator', 'administrator', 3);
    $this->assertEntity('anonymous', 'anonymous user', 1);
    $this->assertEntity('authenticated', 'authenticated user', 2);
    // Test the migration of the new role, test role.
    $this->assertEntity('test_role', 'test role', 4);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.