@@ -330,6 +330,7 @@ public async Task DeletePayloadFromStorageAsync_ReturnsTrue()
330330
331331 _payloadRepository . Setup ( p => p . GetByIdAsync ( It . IsAny < string > ( ) ) ) . ReturnsAsync ( ( ) => new Payload ( ) ) ;
332332 _payloadRepository . Setup ( p => p . UpdateAsync ( It . IsAny < Payload > ( ) ) ) . ReturnsAsync ( ( ) => true ) ;
333+ _workflowInstanceRepository . Setup ( r => r . GetByPayloadIdsAsync ( It . IsAny < List < string > > ( ) ) ) . ReturnsAsync ( ( ) => new List < WorkflowInstance > ( ) ) ;
333334
334335 _storageService . Setup ( s => s . RemoveObjectsAsync ( It . IsAny < string > ( ) , It . IsAny < IEnumerable < string > > ( ) , default ) ) ;
335336
@@ -351,7 +352,7 @@ public async Task DeletePayloadFromStorageAsync_ThrowsMonaiNotFoundException()
351352 }
352353
353354 [ Fact ]
354- public async Task DeletePayloadFromStorageAsync_ThrowsMonaiBadRequestException ( )
355+ public async Task DeletePayloadFromStorageAsync_ThrowsMonaiBadRequestExceptionWhenDeletionAlreadyInProgress ( )
355356 {
356357 var payloadId = Guid . NewGuid ( ) . ToString ( ) ;
357358
@@ -362,5 +363,23 @@ public async Task DeletePayloadFromStorageAsync_ThrowsMonaiBadRequestException()
362363
363364 await Assert . ThrowsAsync < MonaiBadRequestException > ( async ( ) => await PayloadService . DeletePayloadFromStorageAsync ( payloadId ) ) ;
364365 }
366+
367+ [ Fact ]
368+ public async Task DeletePayloadFromStorageAsync_ThrowsMonaiBadRequestExceptionWhenWorkflowInstancesInProgress ( )
369+ {
370+ var payloadId = Guid . NewGuid ( ) . ToString ( ) ;
371+
372+ _payloadRepository . Setup ( p => p . GetByIdAsync ( It . IsAny < string > ( ) ) ) . ReturnsAsync ( ( ) => new Payload ( ) ) ;
373+ _payloadRepository . Setup ( p => p . UpdateAsync ( It . IsAny < Payload > ( ) ) ) . ReturnsAsync ( ( ) => true ) ;
374+ _workflowInstanceRepository . Setup ( r => r . GetByPayloadIdsAsync ( It . IsAny < List < string > > ( ) ) ) . ReturnsAsync ( ( ) => new List < WorkflowInstance >
375+ {
376+ new WorkflowInstance
377+ {
378+ Status = Status . Created ,
379+ }
380+ } ) ;
381+
382+ await Assert . ThrowsAsync < MonaiBadRequestException > ( async ( ) => await PayloadService . DeletePayloadFromStorageAsync ( payloadId ) ) ;
383+ }
365384 }
366385}
0 commit comments