public function DomainTestBase::domainLogin in Domain Access 8
Login a user on a specific domain.
Parameters
\Drupal\domain\DomainInterface $domain: The domain to log the user into.
\Drupal\Core\Session\AccountInterface $account: The user account to login.
2 calls to DomainTestBase::domainLogin()
- DomainAccessPermissionsTest::testDomainAccessCreatePermissions in domain_access/
tests/ src/ Functional/ DomainAccessPermissionsTest.php - Tests domain access create permissions.
- DomainAccessPermissionsTest::testDomainAccessLimitedCreatePermissions in domain_access/
tests/ src/ Functional/ DomainAccessPermissionsTest.php - Tests domain access limited create permissions.
File
- domain/
tests/ src/ Functional/ DomainTestBase.php, line 244
Class
- DomainTestBase
- Class DomainTestBase.
Namespace
Drupal\Tests\domain\FunctionalCode
public function domainLogin(DomainInterface $domain, AccountInterface $account) {
// Due to a quirk in session handling that we cannot directly access, it
// works if we login, then logout, and then login to a specific domain.
$this
->drupalLogin($account);
if ($this->loggedInUser) {
$this
->drupalLogout();
}
// Login.
$url = $domain
->getPath() . 'user/login';
$this
->submitForm([
'name' => $account
->getAccountName(),
'pass' => $account->passRaw,
], t('Log in'));
// @see BrowserTestBase::drupalUserIsLoggedIn()
$account->sessionId = $this
->getSession()
->getCookie($this
->getSessionName());
$this
->assertTrue($this
->drupalUserIsLoggedIn($account), 'User successfully logged in.');
$this->loggedInUser = $account;
$this->container
->get('current_user')
->setAccount($account);
}