@@ -136,20 +136,20 @@ describe('Replicate client', () => {
136136 nock ( BASE_URL )
137137 . get ( '/models' )
138138 . reply ( 200 , {
139- results : [ { url : 'https://replicate.com/some-user/model-1' } ] ,
139+ results : [ { url : 'https://replicate.com/some-user/model-1' } ] ,
140140 next : 'https://api.replicate.com/v1/models?cursor=cD0yMDIyLTAxLTIxKzIzJTNBMTglM0EyNC41MzAzNTclMkIwMCUzQTAw' ,
141141 } )
142142 . get ( '/models?cursor=cD0yMDIyLTAxLTIxKzIzJTNBMTglM0EyNC41MzAzNTclMkIwMCUzQTAw' )
143143 . reply ( 200 , {
144- results : [ { url : 'https://replicate.com/some-user/model-2' } ] ,
144+ results : [ { url : 'https://replicate.com/some-user/model-2' } ] ,
145145 next : null ,
146146 } ) ;
147147
148148 const results : Model [ ] = [ ] ;
149149 for await ( const batch of client . paginate ( client . models . list ) ) {
150150 results . push ( ...batch ) ;
151151 }
152- expect ( results ) . toEqual ( [ { url : 'https://replicate.com/some-user/model-1' } , { url : 'https://replicate.com/some-user/model-2' } ] ) ;
152+ expect ( results ) . toEqual ( [ { url : 'https://replicate.com/some-user/model-1' } , { url : 'https://replicate.com/some-user/model-2' } ] ) ;
153153
154154 // Add more tests for error handling, edge cases, etc.
155155 } ) ;
@@ -662,6 +662,28 @@ describe('Replicate client', () => {
662662 // Add more tests for error handling, edge cases, etc.
663663 } ) ;
664664
665+ describe ( 'hardware.list' , ( ) => {
666+ test ( 'Calls the correct API route' , async ( ) => {
667+ nock ( BASE_URL )
668+ . get ( '/hardware' )
669+ . reply ( 200 , [
670+ { name : "CPU" , sku : "cpu" } ,
671+ { name : "Nvidia T4 GPU" , sku : "gpu-t4" } ,
672+ { name : "Nvidia A40 GPU" , sku : "gpu-a40-small" } ,
673+ { name : "Nvidia A40 (Large) GPU" , sku : "gpu-a40-large" } ,
674+ { name : "Nvidia A40 (Large) GPU (8x)" , sku : "gpu-a40-large-8x" } ,
675+ { name : "Nvidia A100 (40GB) GPU" , sku : "gpu-a100-small" } ,
676+ { name : "Nvidia A100 (80GB) GPU" , sku : "gpu-a100-large" } ,
677+ ] ) ;
678+
679+ const hardware = await client . hardware . list ( ) ;
680+ expect ( hardware . length ) . toBe ( 7 ) ;
681+ expect ( hardware [ 0 ] . name ) . toBe ( 'CPU' ) ;
682+ expect ( hardware [ 0 ] . sku ) . toBe ( 'cpu' ) ;
683+ } ) ;
684+ // Add more tests for error handling, edge cases, etc.
685+ } ) ;
686+
665687 describe ( 'run' , ( ) => {
666688 test ( 'Calls the correct API routes' , async ( ) => {
667689 let firstPollingRequest = true ;
0 commit comments