# Delete

**Test family:** `DEL`

- **DEL-001** Confirmation names object, scope, dependents, permanence, and recovery; default focus avoids accidental destruction.
- **DEL-002** Cancel/Escape/back leaves all state unchanged.
- **DEL-003** Delete once, double-delete, retry after timeout, concurrent update/delete, and already-deleted cases are idempotent.
- **DEL-004** Cascade/restrict/nullify/soft-delete effects match references, counts, search, files, automation, notifications, and export.
- **DEL-005** Unauthorized and other-tenant delete cannot infer existence or create side effects.
- **DEL-006** Undo/grace/restore works until exact boundary and resolves identity/uniqueness conflicts.
- **DEL-007** External side effects and retained legal/audit data follow explicit policy.

## Comprehensive per-item coverage

- **DEL-008** Exercise the action with the smallest valid target, an ordinary target, a boundary-size target, and a target whose display text contains emoticons, emoji, RTL, and combining characters.
- **DEL-009** Attempt the action with missing, stale, deleted, archived, locked, invalid, and partially loaded targets; fail specifically without changing adjacent data.
- **DEL-010** Invoke through every exposed surface—detail, list, bulk, keyboard shortcut, API, import, automation, and mobile—using one authoritative business rule.
- **DEL-011** Verify hidden and disabled presentation matches server authorization; direct requests by an unauthorized role or tenant must still fail.
- **DEL-012** Change role, ownership, policy, or target state between rendering and commit; reauthorize and revalidate at the final write.
- **DEL-013** Single-click, double-click, press Enter repeatedly, resend the request, and retry after timeout; create exactly one intended effect.
- **DEL-014** Race two users performing compatible and conflicting actions; define ordering, conflict reporting, and final state.
- **DEL-015** Interrupt before confirmation, during request, after commit but before response, and during downstream work; distinguish canceled, unknown, failed, and complete states.
- **DEL-016** Force validation, dependency, quota, network, and downstream notification failures; preserve atomicity or expose compensating recovery.
- **DEL-017** Verify confirmation text names the exact target and consequence, safely rendering quotes, markup canaries, emoticons, and long values.
- **DEL-018** Use keyboard, screen reader, switch, touch, and zoom/reflow; expose role, name, disabled/pending state, errors, and returned focus.
- **DEL-019** Translate and lengthen action labels and errors; preserve verb meaning, target identity, shortcuts, and layout in RTL locales.
- **DEL-020** Measure latency at normal and supported bulk sizes; show progress, permit safe cancellation, and avoid blocking unrelated work.
- **DEL-021** Check rate limits, quotas, and abuse controls at the UI and API boundary without turning retries into duplicate work.
- **DEL-022** Verify related counts, caches, search indexes, feeds, summaries, and denormalized records converge after the action.
- **DEL-023** Verify notifications and integrations identify the correct actor, target, tenant, old/new state, and do not leak hidden fields.
- **DEL-024** Record one tamper-resistant audit trail with actor, authority, target, time, request/correlation ID, outcome, and reason—without secrets.
- **DEL-025** Repeat from an old client, stale browser tab, expired session, and replayed signed request; reject obsolete or replayed intent safely.
- **DEL-026** Exercise rollback, undo, restore, or compensating action where promised; preserve dependent data and history.
- **DEL-027** Monitor success, failure, latency, retries, deduplication, stuck jobs, and compensation so silent partial completion is detectable.

[Back to Actions and lifecycle transitions index](../../actions-lifecycle.md)
