public function ExternalAuthTest::testLoginRegister in External Authentication 2.0.x
Same name and namespace in other branches
- 8 tests/src/Unit/ExternalAuthTest.php \Drupal\Tests\externalauth\Unit\ExternalAuthTest::testLoginRegister()
Test the loginRegister() method.
@covers ::loginRegister @covers ::__construct
File
- tests/
src/ Unit/ ExternalAuthTest.php, line 279
Class
- ExternalAuthTest
- ExternalAuth unit tests.
Namespace
Drupal\Tests\externalauth\UnitCode
public function testLoginRegister() {
$account = $this
->createMock('Drupal\\user\\UserInterface');
// Set up a mock for ExternalAuth class,
// mocking login(), register() & userLoginFinalize() methods.
$externalauth = $this
->getMockBuilder('Drupal\\externalauth\\ExternalAuth')
->setMethods([
'login',
'register',
'userLoginFinalize',
])
->setConstructorArgs([
$this->entityTypeManager,
$this->authmap,
$this->logger,
$this->eventDispatcher,
])
->getMock();
// Mock ExternalAuth methods.
$externalauth
->expects($this
->once())
->method('login')
->will($this
->returnValue(FALSE));
$externalauth
->expects($this
->once())
->method('register')
->will($this
->returnValue($account));
$externalauth
->expects($this
->once())
->method('userLoginFinalize')
->will($this
->returnValue($account));
$result = $externalauth
->loginRegister("test_authname", "test_provider");
$this
->assertInstanceOf(UserInterface::class, $result);
}