1818use League \OAuth2 \Server \Repositories \DeviceCodeRepositoryInterface ;
1919use League \OAuth2 \Server \Repositories \RefreshTokenRepositoryInterface ;
2020use League \OAuth2 \Server \Repositories \ScopeRepositoryInterface ;
21+ use League \OAuth2 \Server \RequestAccessTokenEvent ;
22+ use League \OAuth2 \Server \RequestEvent ;
23+ use League \OAuth2 \Server \RequestRefreshTokenEvent ;
2124use LeagueTests \Stubs \AccessTokenEntity ;
2225use LeagueTests \Stubs \ClientEntity ;
2326use LeagueTests \Stubs \DeviceCodeEntity ;
@@ -380,6 +383,27 @@ public function testRespondToAccessTokenRequest(): void
380383
381384 $ grant ->completeDeviceAuthorizationRequest ($ deviceCodeEntity ->getIdentifier (), 'baz ' , true );
382385
386+ $ accessTokenEventEmitted = false ;
387+ $ refreshTokenEventEmitted = false ;
388+
389+ $ grant ->getListenerRegistry ()->subscribeTo (
390+ RequestEvent::ACCESS_TOKEN_ISSUED ,
391+ function ($ event ) use (&$ accessTokenEventEmitted ): void {
392+ self ::assertInstanceOf (RequestAccessTokenEvent::class, $ event );
393+
394+ $ accessTokenEventEmitted = true ;
395+ }
396+ );
397+
398+ $ grant ->getListenerRegistry ()->subscribeTo (
399+ RequestEvent::REFRESH_TOKEN_ISSUED ,
400+ function ($ event ) use (&$ refreshTokenEventEmitted ): void {
401+ self ::assertInstanceOf (RequestRefreshTokenEvent::class, $ event );
402+
403+ $ refreshTokenEventEmitted = true ;
404+ }
405+ );
406+
383407 $ serverRequest = (new ServerRequest ())->withParsedBody ([
384408 'grant_type ' => 'urn:ietf:params:oauth:grant-type:device_code ' ,
385409 'device_code ' => $ deviceCodeEntity ->getIdentifier (),
@@ -391,6 +415,14 @@ public function testRespondToAccessTokenRequest(): void
391415
392416 $ this ::assertInstanceOf (RefreshTokenEntityInterface::class, $ responseType ->getRefreshToken ());
393417 $ this ::assertSame ([$ scope ], $ responseType ->getAccessToken ()->getScopes ());
418+
419+ if (!$ accessTokenEventEmitted ) {
420+ self ::fail ('Access token issued event is not emitted. ' );
421+ }
422+
423+ if (!$ refreshTokenEventEmitted ) {
424+ self ::fail ('Refresh token issued event is not emitted. ' );
425+ }
394426 }
395427
396428 public function testRespondToRequestMissingClient (): void
0 commit comments