@@ -1080,9 +1080,32 @@ describe('delete', () => {
10801080 siteID,
10811081 } )
10821082
1083- await blobs . delete ( key )
1084- await blobs . delete ( complexKey )
1083+ expect ( await blobs . delete ( key ) ) . toBe ( true )
1084+ expect ( await blobs . delete ( complexKey ) ) . toBe ( true )
1085+ expect ( mockStore . fulfilled ) . toBeTruthy ( )
1086+ } )
1087+
1088+ test ( 'Returns `false` when the blob does not exist' , async ( ) => {
1089+ const mockStore = new MockFetch ( )
1090+ . delete ( {
1091+ headers : { authorization : `Bearer ${ apiToken } ` } ,
1092+ response : new Response ( JSON . stringify ( { url : signedURL } ) ) ,
1093+ url : `https://api.netlify.com/api/v1/sites/${ siteID } /blobs/${ key } ?context=production` ,
1094+ } )
1095+ . delete ( {
1096+ response : new Response ( null , { status : 404 } ) ,
1097+ url : signedURL ,
1098+ } )
1099+
1100+ globalThis . fetch = mockStore . fetch
1101+
1102+ const blobs = getStore ( {
1103+ name : 'production' ,
1104+ token : apiToken ,
1105+ siteID,
1106+ } )
10851107
1108+ expect ( await blobs . delete ( key ) ) . toBe ( false )
10861109 expect ( mockStore . fulfilled ) . toBeTruthy ( )
10871110 } )
10881111
@@ -1112,7 +1135,7 @@ describe('delete', () => {
11121135 test ( 'Deletes from the blob store' , async ( ) => {
11131136 const mockStore = new MockFetch ( ) . delete ( {
11141137 headers : { authorization : `Bearer ${ edgeToken } ` } ,
1115- response : new Response ( null ) ,
1138+ response : new Response ( null , { status : 202 } ) ,
11161139 url : `${ edgeURL } /${ siteID } /production/${ key } ` ,
11171140 } )
11181141
@@ -1125,8 +1148,27 @@ describe('delete', () => {
11251148 siteID,
11261149 } )
11271150
1128- await blobs . delete ( key )
1151+ expect ( await blobs . delete ( key ) ) . toBe ( true )
1152+ expect ( mockStore . fulfilled ) . toBeTruthy ( )
1153+ } )
1154+
1155+ test ( 'Returns `false` when the blob does not exist' , async ( ) => {
1156+ const mockStore = new MockFetch ( ) . delete ( {
1157+ headers : { authorization : `Bearer ${ edgeToken } ` } ,
1158+ response : new Response ( null , { status : 404 } ) ,
1159+ url : `${ edgeURL } /${ siteID } /production/${ key } ` ,
1160+ } )
1161+
1162+ globalThis . fetch = mockStore . fetch
1163+
1164+ const blobs = getStore ( {
1165+ edgeURL,
1166+ name : 'production' ,
1167+ token : edgeToken ,
1168+ siteID,
1169+ } )
11291170
1171+ expect ( await blobs . delete ( key ) ) . toBe ( false )
11301172 expect ( mockStore . fulfilled ) . toBeTruthy ( )
11311173 } )
11321174
0 commit comments