@@ -617,10 +617,7 @@ import { routes } from "./routes.js";
617
617
} ) ;
618
618
routes . set ( "/kv-store/delete/key-does-not-exist-returns-undefined" , async ( ) => {
619
619
let store = createValidStore ( )
620
- let result = store . delete ( Math . random ( ) )
621
- let error = assert ( result instanceof Promise , true , `store.delete(Math.random()) instanceof Promise` )
622
- if ( error ) { return error }
623
- error = assert ( await result , undefined , `await store.delete(Math.random())` )
620
+ let error = await assertRejects ( ( ) => store . delete ( Math . random ( ) ) , "KVStore.prototype.delete: can not delete key which does not exist" )
624
621
if ( error ) { return error }
625
622
return pass ( )
626
623
} ) ;
@@ -636,6 +633,45 @@ import { routes } from "./routes.js";
636
633
if ( error ) { return error }
637
634
return pass ( )
638
635
} ) ;
636
+ routes . set ( "/kv-store/delete/delete-key-twice" , async ( ) => {
637
+ let store = createValidStore ( )
638
+ let key = `key-exists-${ Math . random ( ) } ` ;
639
+ await store . put ( key , 'hello' )
640
+ let result = store . delete ( key )
641
+ let error = assert ( result instanceof Promise , true , `store.delete(key) instanceof Promise` )
642
+ if ( error ) { return error }
643
+ result = await result
644
+ error = assert ( result , undefined , `(await store.delete(key) === undefined)` )
645
+ if ( error ) { return error }
646
+ error = await assertRejects ( ( ) => store . delete ( key ) , "KVStore.prototype.delete: can not delete key which does not exist" )
647
+ if ( error ) { return error }
648
+ return pass ( )
649
+ } ) ;
650
+ routes . set ( "/kv-store/delete/multiple-deletes-at-once" , async ( ) => {
651
+ let store = createValidStore ( )
652
+ let key1 = `key-exists-${ Math . random ( ) } ` ;
653
+ await store . put ( key1 , '1hello1' )
654
+ let key2 = `key-exists-${ Math . random ( ) } ` ;
655
+ await store . put ( key2 , '2hello2' )
656
+ let key3 = `key-exists-${ Math . random ( ) } ` ;
657
+ await store . put ( key3 , '3hello3' )
658
+ let key4 = `key-exists-${ Math . random ( ) } ` ;
659
+ await store . put ( key4 , '4hello4' )
660
+ let key5 = `key-exists-${ Math . random ( ) } ` ;
661
+ await store . put ( key5 , '5hello5' )
662
+ let error = await assertResolves ( ( ) => {
663
+ return Promise . all ( [
664
+ store . delete ( key1 ) ,
665
+ store . delete ( key2 ) ,
666
+ store . delete ( key3 ) ,
667
+ store . delete ( key4 ) ,
668
+ store . delete ( key5 ) ,
669
+ ] ) ;
670
+ } ) ;
671
+
672
+ if ( error ) { return error }
673
+ return pass ( )
674
+ } ) ;
639
675
}
640
676
641
677
// KVStore get method
0 commit comments