@@ -226,6 +226,31 @@ describe("BlockRepository.deleteBlocks", () => {
226226 const promise = blockRepository . deleteBlocks ( [ block2 . data ] ) ;
227227 await expect ( promise ) . rejects . toThrow ( "Removing blocks from the middle" ) ;
228228 } ) ;
229+
230+ it ( "should throw when deleting non-continuous chunk (order in reverse)" , async ( ) => {
231+ const blockRepository = getCustomRepository ( BlockRepository ) ;
232+ await blockRepository . saveBlocks ( [ block1 , block2 , block3 ] ) ;
233+ const promise = blockRepository . deleteBlocks ( [ block3 . data , block2 . data , block1 . data ] ) ;
234+ await expect ( promise ) . rejects . toThrow ( "Blocks chunk to delete isn't continuous" ) ;
235+ } ) ;
236+
237+ it ( "should throw when deleting non-continuous chunk (missing block)" , async ( ) => {
238+ const blockRepository = getCustomRepository ( BlockRepository ) ;
239+ await blockRepository . saveBlocks ( [ block1 , block2 , block3 ] ) ;
240+ const promise = blockRepository . deleteBlocks ( [ block3 . data , block1 . data ] ) ;
241+ await expect ( promise ) . rejects . toThrow ( "Blocks chunk to delete isn't continuous" ) ;
242+ } ) ;
243+
244+ it ( "should throw when deleted count doesn't match expected" , async ( ) => {
245+ const blockRepository = getCustomRepository ( BlockRepository ) ;
246+ await blockRepository . saveBlocks ( [ block1 , block2 , block3 ] ) ;
247+ const promise = blockRepository . deleteBlocks ( [
248+ block1 . data ,
249+ block2 . data ,
250+ { ...block3 . data , id : "non-existing" } ,
251+ ] ) ;
252+ await expect ( promise ) . rejects . toThrow ( "Failed to delete all blocks from database" ) ;
253+ } ) ;
229254} ) ;
230255
231256describe ( "BlockRepository.findManyByExpression" , ( ) => {
0 commit comments