diff --git a/tests/OAuth2RequestHandlerTest.php b/tests/OAuth2RequestHandlerTest.php index 16cd7235f3489f522d67a2b78a1f41982c52b067..9e90633b62116bf8eed4199026c5e70009bb0998 100644 --- a/tests/OAuth2RequestHandlerTest.php +++ b/tests/OAuth2RequestHandlerTest.php @@ -252,4 +252,32 @@ final class OAuth2RequestHandlerTest extends TestCase { $this->assertNotNull($params['code']); } + public function testGetRedirectResponseUrlForImplicitFlow(): void { + + $user = new \RAP\User(); + $user->id = "123"; + + $requestData = new \RAP\OAuth2RequestData(); + $requestData->clientId = "<client-id>"; + $requestData->redirectUrl = "<base-path>"; + $requestData->scope = ["openid", "profile"]; + + $sessionStub = $this->createMock(\RAP\SessionData::class); + $sessionStub->method('getUser')->willReturn($user); + $sessionStub->method('getOAuth2RequestData')->willReturn($requestData); + + $locatorStub = $this->createMock(\RAP\Locator::class); + $locatorStub->method('getSession')->willReturn($sessionStub); + + $tokenBuilderStub = $this->createMock(\RAP\TokenBuilder::class); + $tokenBuilderStub->method('getIdToken')->willReturn('<id_token>'); + $locatorStub->method('getTokenBuilder')->willReturn($tokenBuilderStub); + + $requestHandler = new \RAP\OAuth2RequestHandler($locatorStub); + + $result = $requestHandler->getRedirectResponseUrl(); + + $this->assertEquals("<base-path>#id_token=<id_token>", $result); + } + }