Ejemplo n.º 1
0
 /**
  * Test the user list items.
  */
 public function testSwitchUserListItems()
 {
     $anonymous = \Drupal::config('user.settings')->get('anonymous');
     $this->setBlockConfiguration('list_size', 2);
     // Login as web user so we are sure that this account is prioritized
     // in the list if not enougth user with 'switch users' permission are
     // present.
     $this->drupalLogin($this->webUser);
     $this->drupalLogin($this->develUser);
     $this->drupalGet('');
     // Ensure that user with 'switch users' permission are prioritized.
     $this->assertSwitchUserListCount(2);
     $this->assertSwitchUserListContainsUser($this->develUser->getUsername());
     $this->assertSwitchUserListContainsUser($this->switchUser->getUsername());
     // Ensure that blocked users are not shown in the list.
     $this->switchUser->set('status', 0)->save();
     $this->drupalGet('');
     $this->assertSwitchUserListCount(2);
     $this->assertSwitchUserListContainsUser($this->develUser->getUsername());
     $this->assertSwitchUserListContainsUser($this->webUser->getUsername());
     $this->assertSwitchUserListNoContainsUser($this->switchUser->getUsername());
     // Ensure that anonymous user are prioritized if include_anon is set to true.
     $this->setBlockConfiguration('include_anon', TRUE);
     $this->drupalGet('');
     $this->assertSwitchUserListCount(2);
     $this->assertSwitchUserListContainsUser($this->develUser->getUsername());
     $this->assertSwitchUserListContainsUser($anonymous);
     // Ensure that the switch user block works properly even if no prioritized
     // users are found (special handling for user 1).
     $this->drupalLogout();
     $this->develUser->delete();
     $this->drupalLogin($this->rootUser);
     $this->drupalGet('');
     $this->assertSwitchUserListCount(2);
     $this->assertSwitchUserListContainsUser($this->rootUser->getUsername());
     $this->assertSwitchUserListContainsUser($anonymous);
     // Ensure that the switch user block works properly even if no roles have
     // the 'switch users' permission associated (special handling for user 1).
     $roles = user_roles(TRUE, 'switch users');
     \Drupal::entityTypeManager()->getStorage('user_role')->delete($roles);
     $this->drupalGet('');
     $this->assertSwitchUserListCount(2);
     $this->assertSwitchUserListContainsUser($this->rootUser->getUsername());
     $this->assertSwitchUserListContainsUser($anonymous);
 }