fix(t243): allow deleting unreferenced procurement drafts
This commit is contained in:
@@ -385,7 +385,7 @@ func validFreightOrderSyncCommand(idempotencyKey string) CreateFreightSyncComman
|
||||
}
|
||||
}
|
||||
|
||||
func TestDeleteFreightOrderValidatesConflictAndCleansImages(t *testing.T) {
|
||||
func TestDeleteFreightOrderValidatesConflictsAndCleansImages(t *testing.T) {
|
||||
repository := &syncTrackingRepository{
|
||||
deleteStorageKeys: []string{"first/image.jpg", "second/image.jpg"},
|
||||
}
|
||||
@@ -420,17 +420,34 @@ func TestDeleteFreightOrderValidatesConflictAndCleansImages(t *testing.T) {
|
||||
t.Fatalf("deleted image keys = %#v", imageCache.deleted)
|
||||
}
|
||||
|
||||
repository.deleteErr = ErrFreightOrderInUse
|
||||
repository.deleteErr = ErrFreightOrderHasReference
|
||||
err = service.DeleteOrder(context.Background(), command)
|
||||
assertUsecaseError(t, err, ErrorKindConflict, "FREIGHT_ORDER_IN_USE")
|
||||
assertUsecaseError(
|
||||
t,
|
||||
err,
|
||||
ErrorKindConflict,
|
||||
"FREIGHT_ORDER_HAS_REFERENCE",
|
||||
)
|
||||
if len(imageCache.deleted) != 2 {
|
||||
t.Fatalf("conflicting delete cleaned images = %#v", imageCache.deleted)
|
||||
t.Fatalf("reference conflict cleaned images = %#v", imageCache.deleted)
|
||||
}
|
||||
|
||||
repository.deleteErr = ErrFreightOrderHasPurchaseTask
|
||||
err = service.DeleteOrder(context.Background(), command)
|
||||
assertUsecaseError(
|
||||
t,
|
||||
err,
|
||||
ErrorKindConflict,
|
||||
"FREIGHT_ORDER_HAS_PURCHASE_TASK",
|
||||
)
|
||||
if len(imageCache.deleted) != 2 {
|
||||
t.Fatalf("task conflict cleaned images = %#v", imageCache.deleted)
|
||||
}
|
||||
|
||||
command.OrderID = "invalid"
|
||||
err = service.DeleteOrder(context.Background(), command)
|
||||
assertUsecaseError(t, err, ErrorKindInvalid, "FREIGHT_DELETE_INVALID")
|
||||
if repository.deleteCalls != 2 {
|
||||
if repository.deleteCalls != 3 {
|
||||
t.Fatalf("invalid delete reached repository %d times", repository.deleteCalls)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user