@@ -166,25 +166,17 @@ describe('Auth Handler', () => {
166166 refresh_token : refreshToken ,
167167 } ;
168168
169- try {
170- const expectedPayload = {
171- grant_type : 'authorization_code' ,
172- client_id : authHandler . OAuthClientId ,
173- code_verifier : authHandler . codeVerifier ,
174- redirect_uri : authHandler . OAuthRedirectURL ,
175- code,
176- } ;
177-
178- const httpClientStub = sandbox . stub ( HttpClient . prototype , 'post' ) . resolves ( { data : userData } ) ;
179- const getUserDetailsStub = sandbox . stub ( authHandler , 'getUserDetails' ) . resolves ( userData ) ;
180- const setConfigDataStub = sandbox . stub ( authHandler , 'setConfigData' ) . resolves ( ) ;
181-
182- await authHandler . getAccessToken ( code ) ;
183-
184- assert . calledWith ( httpClientStub , `${ authHandler . OAuthBaseURL } /apps-api/apps/token` , expectedPayload ) ;
185- assert . calledWith ( getUserDetailsStub , userData ) ;
186- assert . calledWith ( setConfigDataStub , 'oauth' , userData ) ;
187- } catch ( error ) { }
169+ const exchangeStub = sandbox . stub ( ) . resolves ( userData ) ;
170+ sandbox . stub ( authHandler , 'oauthHandler' ) . value ( {
171+ exchangeCodeForToken : exchangeStub ,
172+ } ) ;
173+ const getUserDetailsStub = sandbox . stub ( authHandler , 'getUserDetails' ) . resolves ( userData ) ;
174+ const setConfigDataStub = sandbox . stub ( authHandler , 'setConfigData' ) . resolves ( ) ;
175+ await authHandler . getAccessToken ( code ) ;
176+ // Verify the actual calls made:
177+ assert . calledWith ( exchangeStub , code ) ; // exchangeCodeForToken called with code
178+ assert . calledWith ( getUserDetailsStub , userData ) ; // getUserDetails called with result from exchange
179+ assert . calledWith ( setConfigDataStub , 'oauth' , userData ) ; // setConfigData called with 'oauth' and userData
188180 } ) ;
189181 } ) ;
190182
@@ -296,30 +288,31 @@ describe('Auth Handler', () => {
296288 } ) ;
297289
298290 it ( 'should refresh the token and resolve with data when refresh token is valid' , async ( ) => {
299- const configOauthRefreshToken = 'valid_refresh_token' ; // Set a valid refresh token here
291+ const configOauthRefreshToken = 'valid_refresh_token' ;
300292 const configAuthorisationType = authHandler . authorisationTypeOAUTHValue ;
301293 const expectedData = {
302- access_token : config . access_token ,
294+ access_token : 'new_access_token' ,
303295 refresh_token : 'new_refresh_token' ,
304296 } ;
305-
306- const postStub = sandbox . stub ( ) . resolves ( { data : expectedData } ) ;
307- const httpClientStub = {
308- post : postStub ,
309- } ;
310- const httpClientInstance = new HttpClient ( ) . headers ( ) . asFormParams ( ) ;
311- sandbox . stub ( httpClientInstance , 'post' ) . value ( httpClientStub ) ;
312-
313- sandbox . stub ( authHandler , 'setConfigData' ) . resolves ( expectedData ) ;
314-
297+ // Stub oauthHandler with refreshAccessToken method
298+ const refreshAccessTokenStub = sandbox . stub ( ) . resolves ( expectedData ) ;
299+ sandbox . stub ( authHandler , 'oauthHandler' ) . value ( {
300+ refreshAccessToken : refreshAccessTokenStub ,
301+ } ) ;
302+ // Stub configHandler.get to return proper values
315303 sandbox
316304 . stub ( configHandler , 'get' )
317305 . withArgs ( authHandler . oauthRefreshTokenKeyName )
318306 . returns ( configOauthRefreshToken )
319307 . withArgs ( authHandler . authorisationTypeKeyName )
320308 . returns ( configAuthorisationType ) ;
321-
322- authHandler . refreshToken ( ) ;
309+ // Stub setConfigData
310+ sandbox . stub ( authHandler , 'setConfigData' ) . resolves ( expectedData ) ;
311+ const result = await authHandler . refreshToken ( ) ;
312+ // Verify calls
313+ assert . calledWith ( refreshAccessTokenStub , configOauthRefreshToken ) ;
314+ assert . calledWith ( authHandler . setConfigData , 'refreshToken' , expectedData ) ;
315+ expect ( result ) . to . deep . equal ( expectedData ) ;
323316 } ) ;
324317 } ) ;
325318
@@ -354,15 +347,15 @@ describe('Auth Handler', () => {
354347 const data = {
355348 access_token : '' ,
356349 } ;
357-
350+
358351 try {
359352 await authHandler . getUserDetails ( data ) ;
360353 throw new Error ( 'Expected getUserDetails to throw' ) ; // ensure failure if no error is thrown
361354 } catch ( error ) {
362355 expect ( error ) . to . be . instanceOf ( Error ) ;
363356 expect ( error . message ) . to . equal ( 'Invalid or empty access token.' ) ;
364357 }
365- } ) ;
358+ } ) ;
366359 } ) ;
367360
368361 describe ( 'isAuthenticated' , ( ) => {
0 commit comments