diff --git a/src/Tests/ProfileRoleAccessTest.php b/src/Tests/ProfileRoleAccessTest.php
deleted file mode 100644
index 15b1a79..0000000
--- a/src/Tests/ProfileRoleAccessTest.php
+++ /dev/null
@@ -1,165 +0,0 @@
-<?php
-
-namespace Drupal\profile\Tests;
-
-use Drupal\Core\Session\AccountInterface;
-
-/**
- * Tests profile role access handling.
- *
- * @group profile
- */
-class ProfileRoleAccessTest extends ProfileTestBase {
-
-  /**
-   * Randomly generated profile type entity.
-   *
-   * Requires some, but not all roles.
-   *
-   * @var \Drupal\profile\Entity\ProfileType
-   */
-  protected $type2;
-
-  /**
-   * Randomly generated profile type entity.
-   *
-   * Requires all profile roles.
-   *
-   * @var \Drupal\profile\Entity\ProfileType
-   */
-  protected $type3;
-
-  /**
-   * Randomly generated user role entity.
-   *
-   * @var \Drupal\user\Entity\Role
-   */
-  protected $role1;
-
-  /**
-   * Randomly generated user role entity.
-   *
-   * @var \Drupal\user\Entity\Role
-   */
-  protected $role2;
-
-  /**
-   * {@inheritdoc}
-   */
-  protected function setUp() {
-    parent::setUp();
-
-    $this->role1 = $this->drupalCreateRole([]);
-    $this->role2 = $this->drupalCreateRole([]);
-    $this->type2 = $this->createProfileType(NULL, NULL, FALSE, [$this->role2]);
-    $this->type3 = $this->createProfileType(NULL, NULL, FALSE, [$this->role1, $this->role2]);
-  }
-
-  /**
-   * Tests add profile form access for a profile type that does not require
-   * users to have a role.
-   */
-  public function testProfileWithNoRoles() {
-    // Create user with add own profile permissions.
-    $web_user1 = $this->drupalCreateUser(["add own {$this->type->id()} profile"]);
-    $this->drupalLogin($web_user1);
-
-    // Test user without role can access add profile form.
-    // Expected: User can access form.
-    $this->drupalGet("user/{$web_user1->id()}/{$this->type->id()}");
-    $this->assertResponse(200);
-  }
-
-  public function testLockedRoles() {
-    $locked_role_type = $this->createProfileType(NULL, NULL, FALSE, [AccountInterface::AUTHENTICATED_ROLE]);
-
-    // Create user with add own profile permissions.
-    $web_user1 = $this->drupalCreateUser(["add own {$locked_role_type->id()} profile"]);
-    $this->drupalLogin($web_user1);
-
-    // Test user without role can access add profile form.
-    // Expected: User can access form.
-    $this->drupalGet("user/{$web_user1->id()}/{$locked_role_type->id()}");
-    $this->assertResponse(200);
-  }
-
-  /**
-   * Tests add profile form access for a profile type that requires users to
-   * have a single role.
-   */
-  public function testProfileWithSingleRole() {
-    // Create user with add own profile permissions.
-    $web_user1 = $this->drupalCreateUser(["add own {$this->type2->id()} profile"]);
-    $this->drupalLogin($web_user1);
-
-    // Test user without role can access add profile form.
-    // Expected: User cannot access form.
-    $this->drupalGet("user/{$web_user1->id()}/{$this->type2->id()}");
-    $this->assertResponse(403);
-
-    // Test user with wrong role can access add profile form.
-    // Expected: User cannot access form.
-    $web_user1->addRole($this->role1);
-    $web_user1->save();
-
-    $this->drupalGet("user/{$web_user1->id()}/{$this->type2->id()}");
-    $this->assertResponse(403);
-
-    // Test user with correct role can access add profile form.
-    // Expected: User can access form.
-    $web_user1->removeRole($this->role1);
-    $web_user1->addRole($this->role2);
-    $web_user1->save();
-
-    $this->drupalGet("user/{$web_user1->id()}/{$this->type2->id()}");
-    $this->assertResponse(200);
-  }
-
-  /**
-   * Tests add profile form access for a profile type that requires users to
-   * have one of multiple roles.
-   */
-  public function testProfileWithAllRoles() {
-    // Create user with add own profile permissions.
-    $web_user1 = $this->drupalCreateUser(["add own {$this->type3->id()} profile"]);
-    $this->drupalLogin($web_user1);
-
-    // Test user without role can access add profile form.
-    // Expected: User cannot access form.
-    $this->drupalGet("user/{$web_user1->id()}/{$this->type3->id()}");
-    $this->assertResponse(403);
-
-    // Test user with role 1 can access add profile form.
-    // Expected: User can access form.
-    $web_user1->addRole($this->role1);
-    $web_user1->save();
-
-    $this->drupalGet("user/{$web_user1->id()}/{$this->type3->id()}");
-    $this->assertResponse(200);
-
-    // Test user with both roles can access add profile form.
-    // Expected: User can access form.
-    $web_user1->addRole($this->role2);
-    $web_user1->save();
-
-    $this->drupalGet("user/{$web_user1->id()}/{$this->type3->id()}");
-    $this->assertResponse(200);
-
-    // Test user with role 2 can access add profile form.
-    // Expected: User can access form.
-    $web_user1->removeRole($this->role1);
-    $web_user1->save();
-
-    $this->drupalGet("user/{$web_user1->id()}/{$this->type3->id()}");
-    $this->assertResponse(200);
-
-    // Test user without role can access add profile form.
-    // Expected: User cannot access form.
-    $web_user1->removeRole($this->role2);
-    $web_user1->save();
-
-    $this->drupalGet("user/{$web_user1->id()}/{$this->type3->id()}");
-    $this->assertResponse(403);
-  }
-
-}
diff --git a/tests/src/Kernel/ProfileAccessTest.php b/tests/src/Kernel/ProfileAccessTest.php
index c71476b..8c44f17 100644
--- a/tests/src/Kernel/ProfileAccessTest.php
+++ b/tests/src/Kernel/ProfileAccessTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\profile\Tests;
+namespace Drupal\Tests\profile\Kernel;
 
 use Drupal\KernelTests\Core\Entity\EntityKernelTestBase;
 use Drupal\profile\Entity\Profile;
diff --git a/tests/src/Kernel/ProfileRoleAccessTest.php b/tests/src/Kernel/ProfileRoleAccessTest.php
new file mode 100644
index 0000000..62d50e1
--- /dev/null
+++ b/tests/src/Kernel/ProfileRoleAccessTest.php
@@ -0,0 +1,175 @@
+<?php
+
+namespace Drupal\Tests\profile\Kernel;
+
+use Drupal\Core\Session\AccountInterface;
+use Drupal\KernelTests\Core\Entity\EntityKernelTestBase;
+use Drupal\profile\ProfileTestTrait;
+use Drupal\user\Entity\Role;
+
+/**
+ * Tests profile role access handling.
+ *
+ * @group profile
+ */
+class ProfileRoleAccessTest extends EntityKernelTestBase {
+
+  use ProfileTestTrait;
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = ['user', 'system', 'field', 'text', 'profile', 'views'];
+
+  /**
+   * Randomly generated profile type entity.
+   *
+   * No roles.
+   *
+   * @var \Drupal\profile\Entity\ProfileType
+   */
+  protected $type1;
+
+  /**
+   * Randomly generated profile type entity.
+   *
+   * Requires some, but not all roles.
+   *
+   * @var \Drupal\profile\Entity\ProfileType
+   */
+  protected $type2;
+
+  /**
+   * Randomly generated profile type entity.
+   *
+   * Requires all profile roles.
+   *
+   * @var \Drupal\profile\Entity\ProfileType
+   */
+  protected $type3;
+
+  /**
+   * Randomly generated user role entity.
+   *
+   * @var \Drupal\user\Entity\Role
+   */
+  protected $role1;
+
+  /**
+   * Randomly generated user role entity.
+   *
+   * @var \Drupal\user\Entity\Role
+   */
+  protected $role2;
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function setUp() {
+    parent::setUp();
+
+    $this->role1 = Role::create([
+      'id' => strtolower($this->randomMachineName(8)),
+      'label' => $this->randomMachineName(8),
+    ]);
+    $this->role1->save();
+    $this->role2 = Role::create([
+      'id' => strtolower($this->randomMachineName(8)),
+      'label' => $this->randomMachineName(8),
+    ]);
+    $this->role2->save();
+    $this->type1 = $this->createProfileType(NULL, NULL, FALSE, []);
+    $this->type2 = $this->createProfileType(NULL, NULL, FALSE, [$this->role2]);
+    $this->type3 = $this->createProfileType(NULL, NULL, FALSE, [$this->role1, $this->role2]);
+  }
+
+  /**
+   * Tests add profile form access for a profile type that does not require
+   * users to have a role.
+   */
+  public function testProfileWithNoRoles() {
+    // Create user with add own profile permissions.
+    $web_user1 = $this->createUser([], ["add own {$this->type->id()} profile"]);
+    $this->assertTrue($this->type1->access('view', $web_user1));
+  }
+
+  public function testLockedRoles() {
+    $locked_role_type = $this->createProfileType(NULL, NULL, FALSE, [AccountInterface::AUTHENTICATED_ROLE]);
+    // Create user with add own profile permissions.
+    $web_user1 = $this->createUser([], ["add own {$locked_role_type->id()} profile"]);
+    $this->assertTrue($locked_role_type->access('view', $web_user1));
+  }
+
+  /**
+   * Tests add profile form access for a profile type that requires users to
+   * have a single role.
+   */
+  public function testProfileWithSingleRole() {
+    // Create user with add own profile permissions.
+    $web_user1 = $this->createUser([], ["add own {$this->type2->id()} profile"]);
+    $this->drupalLogin($web_user1);
+
+    // Test user without role can access add profile form.
+    // Expected: User cannot access form.
+    $this->assertFalse($this->type2->access('view', $web_user1));
+
+    // Test user with wrong role can access add profile form.
+    // Expected: User cannot access form.
+    $web_user1->addRole($this->role1);
+    $web_user1->save();
+
+    $this->assertFalse($this->type2->access('view', $web_user1));
+
+    // Test user with correct role can access add profile form.
+    // Expected: User can access form.
+    $web_user1->removeRole($this->role1);
+    $web_user1->addRole($this->role2);
+    $web_user1->save();
+
+    $this->assertTrue($this->type2->access('view', $web_user1));
+  }
+
+  /**
+   * Tests add profile form access for a profile type that requires users to
+   * have one of multiple roles.
+   */
+  public function testProfileWithAllRoles() {
+    // Create user with add own profile permissions.
+    $web_user1 = $this->createUser([], ["add own {$this->type3->id()} profile"]);
+
+    // Test user without role can access add profile form.
+    // Expected: User cannot access form.
+    $this->assertFalse($this->type3->access('view', $web_user1));
+
+    // Test user with role 1 can access add profile form.
+    // Expected: User can access form.
+    $web_user1->addRole($this->role1);
+    $web_user1->save();
+
+    $this->assertTrue($this->type3->access('view', $web_user1));
+
+    // Test user with both roles can access add profile form.
+    // Expected: User can access form.
+    $web_user1->addRole($this->role2);
+    $web_user1->save();
+
+    $this->assertTrue($this->type3->access('view', $web_user1));
+
+    // Test user with role 2 can access add profile form.
+    // Expected: User can access form.
+    $web_user1->removeRole($this->role1);
+    $web_user1->save();
+
+    $this->assertTrue($this->type3->access('view', $web_user1));
+
+    // Test user without role can access add profile form.
+    // Expected: User cannot access form.
+    $web_user1->removeRole($this->role2);
+    $web_user1->save();
+
+    $this->assertFalse($this->type3->access('view', $web_user1));
+  }
+
+}
