@@ -345,6 +345,55 @@ describe('DevupObject', () => {
345345 > ( ) . toEqualTypeOf < CreateUserRequest > ( )
346346 expectTypeOf < ReturnType < typeof createUser > > ( ) . toEqualTypeOf < User > ( )
347347 } )
348+
349+ test ( 'default (no R) accesses all component schemas merged' , ( ) => {
350+ // DevupObject without R should merge response + request + error
351+ type All = DevupObject <
352+ keyof { response : never ; request : never ; error : never } ,
353+ 'test-api.json'
354+ >
355+
356+ // response keys accessible
357+ type User = All [ 'User' ]
358+ expectTypeOf < User > ( ) . toEqualTypeOf < {
359+ id : number
360+ name : string
361+ email : string
362+ } > ( )
363+
364+ // request keys accessible
365+ type CreateUser = All [ 'CreateUserRequest' ]
366+ expectTypeOf < CreateUser > ( ) . toEqualTypeOf < { name : string ; email : string } > ( )
367+
368+ // error keys accessible
369+ type ApiError = All [ 'ApiError' ]
370+ expectTypeOf < ApiError > ( ) . toEqualTypeOf < { code : string ; message : string } > ( )
371+ } )
372+
373+ test ( 'default DevupObject includes all schemas from all contexts' , ( ) => {
374+ // Verify that response, request, error keys all exist
375+ type AllKeys = keyof DevupObject <
376+ keyof { response : never ; request : never ; error : never } ,
377+ 'test-api.json'
378+ >
379+
380+ // response keys
381+ type HasUser = 'User' extends AllKeys ? true : false
382+ type HasUserList = 'UserList' extends AllKeys ? true : false
383+ // request keys
384+ type HasCreateUser = 'CreateUserRequest' extends AllKeys ? true : false
385+ type HasUpdateUser = 'UpdateUserRequest' extends AllKeys ? true : false
386+ // error keys
387+ type HasApiError = 'ApiError' extends AllKeys ? true : false
388+ type HasNotFound = 'NotFoundError' extends AllKeys ? true : false
389+
390+ expectTypeOf < HasUser > ( ) . toEqualTypeOf < true > ( )
391+ expectTypeOf < HasUserList > ( ) . toEqualTypeOf < true > ( )
392+ expectTypeOf < HasCreateUser > ( ) . toEqualTypeOf < true > ( )
393+ expectTypeOf < HasUpdateUser > ( ) . toEqualTypeOf < true > ( )
394+ expectTypeOf < HasApiError > ( ) . toEqualTypeOf < true > ( )
395+ expectTypeOf < HasNotFound > ( ) . toEqualTypeOf < true > ( )
396+ } )
348397} )
349398
350399// =============================================================================
0 commit comments