@@ -93,6 +93,53 @@ describe('TokenRefreshError', () => {
9393
9494 expect ( error . cause ) . toBe ( originalError ) ;
9595 } ) ;
96+
97+ it ( 'creates error with userId and sessionId' , ( ) => {
98+ const error = new TokenRefreshError ( 'Refresh failed' , undefined , {
99+ userId : 'user_123' ,
100+ sessionId : 'session_456' ,
101+ } ) ;
102+
103+ expect ( error . userId ) . toBe ( 'user_123' ) ;
104+ expect ( error . sessionId ) . toBe ( 'session_456' ) ;
105+ } ) ;
106+
107+ it ( 'creates error with cause and context' , ( ) => {
108+ const originalError = new Error ( 'Network error' ) ;
109+ const error = new TokenRefreshError ( 'Refresh failed' , originalError , {
110+ userId : 'user_123' ,
111+ sessionId : 'session_456' ,
112+ } ) ;
113+
114+ expect ( error . cause ) . toBe ( originalError ) ;
115+ expect ( error . userId ) . toBe ( 'user_123' ) ;
116+ expect ( error . sessionId ) . toBe ( 'session_456' ) ;
117+ } ) ;
118+
119+ it ( 'creates error with partial context (userId only)' , ( ) => {
120+ const error = new TokenRefreshError ( 'Refresh failed' , undefined , {
121+ userId : 'user_123' ,
122+ } ) ;
123+
124+ expect ( error . userId ) . toBe ( 'user_123' ) ;
125+ expect ( error . sessionId ) . toBeUndefined ( ) ;
126+ } ) ;
127+
128+ it ( 'creates error with partial context (sessionId only)' , ( ) => {
129+ const error = new TokenRefreshError ( 'Refresh failed' , undefined , {
130+ sessionId : 'session_456' ,
131+ } ) ;
132+
133+ expect ( error . userId ) . toBeUndefined ( ) ;
134+ expect ( error . sessionId ) . toBe ( 'session_456' ) ;
135+ } ) ;
136+
137+ it ( 'has undefined properties when no context provided' , ( ) => {
138+ const error = new TokenRefreshError ( 'Refresh failed' ) ;
139+
140+ expect ( error . userId ) . toBeUndefined ( ) ;
141+ expect ( error . sessionId ) . toBeUndefined ( ) ;
142+ } ) ;
96143} ) ;
97144
98145describe ( 'error inheritance' , ( ) => {
0 commit comments