diff --git a/src/Tests/ProfileDefaultTest.php b/src/Tests/ProfileDefaultTest.php index c83a5ca..46bf9a4 100644 --- a/src/Tests/ProfileDefaultTest.php +++ b/src/Tests/ProfileDefaultTest.php @@ -144,7 +144,25 @@ class ProfileDefaultTest extends ProfileTestBase { $types[$id] = $this->createProfileType($id, $values['label']); } + $restricted_user = $this->drupalCreateUser([ + 'administer profiles', + 'edit own ' . $types['profile_type_0']->id() . ' profile', + 'edit own ' . $types['profile_type_1']->id() . ' profile', + ]); + + $admin_user = $this->drupalCreateUser([ + 'administer profiles', + 'edit any ' . $types['profile_type_0']->id() . ' profile', + 'edit any ' . $types['profile_type_1']->id() . ' profile', + ]); + // Create new profiles. + $profile_profile_type_0_restricted_user = Profile::create($expected = [ + 'type' => $types['profile_type_0']->id(), + 'uid' => $restricted_user->id(), + ]); + $profile_profile_type_0_restricted_user->setActive(TRUE); + $profile_profile_type_0_restricted_user->save(); $profile_profile_type_0_user1_1 = Profile::create($expected = [ 'type' => $types['profile_type_0']->id(), 'uid' => $this->user1->id(), @@ -182,11 +200,18 @@ class ProfileDefaultTest extends ProfileTestBase { $profile_profile_type_1_user1_active->isActive(TRUE); $profile_profile_type_1_user1_active->save(); - $admin_user = $this->drupalCreateUser([ - 'administer profiles', - 'edit any ' . $types['profile_type_0']->id() . ' profile', - 'edit any ' . $types['profile_type_1']->id() . ' profile', - ]); + // Make sure that $restricted_user is allowed to set default his own profile + // and not others'. + $this->drupalLogin($restricted_user); + + $this->drupalGet('admin/config/people/profiles'); + + $this->clickLink('Mark as default', 0); + $this->assertTrue(Profile::load($profile_profile_type_0_restricted_user->id())->isDefault()); + $this->clickLink('Mark as default', 1); + $this->assertResponse(403); + $this->drupalLogout(); + $this->drupalLogin($admin_user); $this->drupalGet('admin/config/people/profiles');