@@ -142,6 +142,131 @@ describe('Bucket API Error Handling', () => {
142142 // Clean up
143143 mockFn . mockRestore ( )
144144 } )
145+
146+ it ( 'constructs query string with limit option' , async ( ) => {
147+ const storage = new StorageClient ( URL , { apikey : KEY } )
148+ const mockGet = jest . spyOn ( require ( '../src/lib/fetch' ) , 'get' ) . mockResolvedValue ( [ ] )
149+
150+ await storage . listBuckets ( { limit : 10 } )
151+
152+ expect ( mockGet ) . toHaveBeenCalledWith (
153+ expect . any ( Function ) ,
154+ `${ URL } /bucket?limit=10` ,
155+ expect . objectContaining ( {
156+ headers : expect . any ( Object ) ,
157+ } )
158+ )
159+
160+ mockGet . mockRestore ( )
161+ } )
162+
163+ it ( 'constructs query string with offset option' , async ( ) => {
164+ const storage = new StorageClient ( URL , { apikey : KEY } )
165+ const mockGet = jest . spyOn ( require ( '../src/lib/fetch' ) , 'get' ) . mockResolvedValue ( [ ] )
166+
167+ await storage . listBuckets ( { offset : 5 } )
168+
169+ expect ( mockGet ) . toHaveBeenCalledWith (
170+ expect . any ( Function ) ,
171+ `${ URL } /bucket?offset=5` ,
172+ expect . objectContaining ( {
173+ headers : expect . any ( Object ) ,
174+ } )
175+ )
176+
177+ mockGet . mockRestore ( )
178+ } )
179+
180+ it ( 'constructs query string with sortColumn option' , async ( ) => {
181+ const storage = new StorageClient ( URL , { apikey : KEY } )
182+ const mockGet = jest . spyOn ( require ( '../src/lib/fetch' ) , 'get' ) . mockResolvedValue ( [ ] )
183+
184+ await storage . listBuckets ( { sortColumn : 'name' } )
185+
186+ expect ( mockGet ) . toHaveBeenCalledWith (
187+ expect . any ( Function ) ,
188+ `${ URL } /bucket?sortColumn=name` ,
189+ expect . objectContaining ( {
190+ headers : expect . any ( Object ) ,
191+ } )
192+ )
193+
194+ mockGet . mockRestore ( )
195+ } )
196+
197+ it ( 'constructs query string with sortOrder option' , async ( ) => {
198+ const storage = new StorageClient ( URL , { apikey : KEY } )
199+ const mockGet = jest . spyOn ( require ( '../src/lib/fetch' ) , 'get' ) . mockResolvedValue ( [ ] )
200+
201+ await storage . listBuckets ( { sortOrder : 'desc' } )
202+
203+ expect ( mockGet ) . toHaveBeenCalledWith (
204+ expect . any ( Function ) ,
205+ `${ URL } /bucket?sortOrder=desc` ,
206+ expect . objectContaining ( {
207+ headers : expect . any ( Object ) ,
208+ } )
209+ )
210+
211+ mockGet . mockRestore ( )
212+ } )
213+
214+ it ( 'constructs query string with search option' , async ( ) => {
215+ const storage = new StorageClient ( URL , { apikey : KEY } )
216+ const mockGet = jest . spyOn ( require ( '../src/lib/fetch' ) , 'get' ) . mockResolvedValue ( [ ] )
217+
218+ await storage . listBuckets ( { search : 'test-bucket' } )
219+
220+ expect ( mockGet ) . toHaveBeenCalledWith (
221+ expect . any ( Function ) ,
222+ `${ URL } /bucket?search=test-bucket` ,
223+ expect . objectContaining ( {
224+ headers : expect . any ( Object ) ,
225+ } )
226+ )
227+
228+ mockGet . mockRestore ( )
229+ } )
230+
231+ it ( 'constructs query string with multiple options' , async ( ) => {
232+ const storage = new StorageClient ( URL , { apikey : KEY } )
233+ const mockGet = jest . spyOn ( require ( '../src/lib/fetch' ) , 'get' ) . mockResolvedValue ( [ ] )
234+
235+ await storage . listBuckets ( {
236+ limit : 20 ,
237+ offset : 10 ,
238+ sortColumn : 'created_at' ,
239+ sortOrder : 'asc' ,
240+ search : 'my-bucket' ,
241+ } )
242+
243+ expect ( mockGet ) . toHaveBeenCalledWith (
244+ expect . any ( Function ) ,
245+ `${ URL } /bucket?limit=20&offset=10&search=my-bucket&sortColumn=created_at&sortOrder=asc` ,
246+ expect . objectContaining ( {
247+ headers : expect . any ( Object ) ,
248+ } )
249+ )
250+
251+ mockGet . mockRestore ( )
252+ } )
253+
254+ it ( 'handles empty options object' , async ( ) => {
255+ const storage = new StorageClient ( URL , { apikey : KEY } )
256+ const mockGet = jest . spyOn ( require ( '../src/lib/fetch' ) , 'get' ) . mockResolvedValue ( [ ] )
257+
258+ await storage . listBuckets ( { } )
259+
260+ expect ( mockGet ) . toHaveBeenCalledWith (
261+ expect . any ( Function ) ,
262+ `${ URL } /bucket` ,
263+ expect . objectContaining ( {
264+ headers : expect . any ( Object ) ,
265+ } )
266+ )
267+
268+ mockGet . mockRestore ( )
269+ } )
145270 } )
146271
147272 describe ( 'getBucket' , ( ) => {
0 commit comments