@@ -25,10 +25,15 @@ describe('File API Error Handling', () => {
25
25
global . fetch = jest . fn ( ) . mockImplementation ( ( ) => Promise . reject ( mockError ) )
26
26
const storage = new StorageClient ( URL , { apikey : KEY } )
27
27
28
- const { data, error } = await storage . from ( BUCKET_ID ) . download ( 'test.jpg' )
29
- expect ( data ) . toBeNull ( )
30
- expect ( error ) . not . toBeNull ( )
31
- expect ( error ?. message ) . toBe ( 'Network failure' )
28
+ const blobDownload = await storage . from ( BUCKET_ID ) . download ( 'test.jpg' )
29
+ expect ( blobDownload . data ) . toBeNull ( )
30
+ expect ( blobDownload . error ) . not . toBeNull ( )
31
+ expect ( blobDownload . error ?. message ) . toBe ( 'Network failure' )
32
+
33
+ const streamDownload = await storage . from ( BUCKET_ID ) . download ( 'test.jpg' ) . asStream ( )
34
+ expect ( streamDownload . data ) . toBeNull ( )
35
+ expect ( streamDownload . error ) . not . toBeNull ( )
36
+ expect ( streamDownload . error ?. message ) . toBe ( 'Network failure' )
32
37
} )
33
38
34
39
it ( 'wraps non-Response errors as StorageUnknownError' , async ( ) => {
@@ -37,18 +42,23 @@ describe('File API Error Handling', () => {
37
42
38
43
const storage = new StorageClient ( URL , { apikey : KEY } )
39
44
40
- const { data, error } = await storage . from ( BUCKET_ID ) . download ( 'test.jpg' )
41
- expect ( data ) . toBeNull ( )
42
- expect ( error ) . toBeInstanceOf ( StorageUnknownError )
43
- expect ( error ?. message ) . toBe ( 'Invalid download format' )
45
+ const blobDownload = await storage . from ( BUCKET_ID ) . download ( 'test.jpg' )
46
+ expect ( blobDownload . data ) . toBeNull ( )
47
+ expect ( blobDownload . error ) . toBeInstanceOf ( StorageUnknownError )
48
+ expect ( blobDownload . error ?. message ) . toBe ( 'Invalid download format' )
49
+
50
+ const streamDownload = await storage . from ( BUCKET_ID ) . download ( 'test.jpg' ) . asStream ( )
51
+ expect ( streamDownload . data ) . toBeNull ( )
52
+ expect ( streamDownload . error ) . toBeInstanceOf ( StorageUnknownError )
53
+ expect ( streamDownload . error ?. message ) . toBe ( 'Invalid download format' )
44
54
} )
45
55
46
56
it ( 'throws non-StorageError exceptions' , async ( ) => {
47
57
// Create a storage client
48
58
const storage = new StorageClient ( URL , { apikey : KEY } )
49
59
50
60
// Create a spy on the fetch method that will throw a non-StorageError
51
- const mockFn = jest . spyOn ( global , 'fetch' ) . mockImplementationOnce ( ( ) => {
61
+ const mockFn = jest . spyOn ( global , 'fetch' ) . mockImplementation ( ( ) => {
52
62
const error = new Error ( 'Unexpected error in download' )
53
63
Object . defineProperty ( error , 'name' , { value : 'CustomError' } )
54
64
throw error
@@ -58,6 +68,10 @@ describe('File API Error Handling', () => {
58
68
'Unexpected error in download'
59
69
)
60
70
71
+ await expect ( storage . from ( BUCKET_ID ) . download ( 'test.jpg' ) . asStream ( ) ) . rejects . toThrow (
72
+ 'Unexpected error in download'
73
+ )
74
+
61
75
mockFn . mockRestore ( )
62
76
} )
63
77
} )
0 commit comments