# Import

**Test family:** `IMP`

- **IMP-001** Import empty file, headers only, one row, page/batch boundary, and large authorized dataset.
- **IMP-002** Test missing/extra/duplicate/reordered headers, BOM, delimiter, quote, newline, encoding, and locale variants.
- **IMP-003** Map required/optional/custom fields, unknown enums, references, dates, numbers, booleans, nulls, and formulas.
- **IMP-004** Mixed valid/invalid rows make atomic versus partial semantics explicit; error report points to exact source row/field.
- **IMP-005** Duplicate rows, existing objects, repeated import, and retry use explicit skip/update/create/idempotency rules.
- **IMP-006** Authorization and validation apply per row/object, not only at file acceptance.
- **IMP-007** Dry run/preview counts match commit; changed mappings invalidate stale preview.
- **IMP-008** Cancel/timeout/crash/restart resumes or rolls back coherently and does not duplicate notifications/automations.
- **IMP-009** Imported formulas/markup/URLs/files remain inert and tenant-scoped.
- **IMP-010** Audit records file, mapping, actor, counts, errors, created/updated IDs, and rollback if offered.

## Comprehensive per-item coverage

- **IMP-011** Create absent, empty, ordinary, boundary-size, and over-limit content; distinguish missing data, empty content, and intentionally blank content.
- **IMP-012** Use ASCII emoticons such as `:)`, `:-)`, `;)`, `:D`, `:(`, and `<3`; preserve them exactly or reject them with a specific product rule.
- **IMP-013** Use kaomoji and complex emoji including skin tones, flags, keycaps, variation selectors, and ZWJ sequences; preserve complete graphemes.
- **IMP-014** Use accents, decomposed forms, CJK, Arabic, Hebrew, mixed direction, confusables, and invisible characters; keep rendering and identity unambiguous.
- **IMP-015** Use long words, many short lines, one long line, tabs, mixed line endings, trailing spaces, and control characters through every supported transport.
- **IMP-016** Use inert HTML/script, Markdown, template, SQL, command, path, CSV-formula, header, and log-forging canaries; never execute content as control.
- **IMP-017** Compare typing, paste, rich paste, upload, import, API, mobile, automation, and migration paths; apply the same content contract.
- **IMP-018** Save, preview, reopen, edit, copy, quote, reply, forward, notify, search, index, export, and delete; preserve intended content and access.
- **IMP-019** Verify content encoding, charset declaration, BOM, compression, chunking, multipart boundaries, and transcoding do not corrupt data.
- **IMP-020** Attempt access as owner, collaborator, removed member, external guest, anonymous viewer, and another tenant; reauthorize every delivery path.
- **IMP-021** Change access after a link, preview, notification, or cached representation exists; revoke stale copies where the contract promises it.
- **IMP-022** Edit concurrently, retry after timeout, and resubmit the same content; avoid silent overwrite, duplicates, and reordered versions.
- **IMP-023** Force storage, scanner, renderer, indexer, notification, export, and downstream integration failures; expose partial state and recovery.
- **IMP-024** Test keyboard, screen reader, zoom, reflow, high contrast, reduced motion, captions/alternatives, and focus for creating and consuming content.
- **IMP-025** Translate UI and content, switch locale and direction, and render unsupported glyphs; preserve data even when fonts or layout degrade.
- **IMP-026** Measure create, upload, render, search, download, and delete latency at normal and supported boundary sizes.
- **IMP-027** Inspect URLs, metadata, filenames, previews, logs, telemetry, caches, backups, notifications, and exports for sensitive-content leakage.
- **IMP-028** Apply malware, abuse, spam, moderation, and policy handling without exposing scanner details or destroying innocent content silently.
- **IMP-029** Delete, restore, expire, retain, place on hold, export, and purge content; make user-visible state match storage and legal policy.
- **IMP-030** Verify hashes, sizes, versions, ownership, timestamps, and audit events across replicas and transformations so corruption is detectable.

[Back to Files, content, import/export, and messaging index](../../files-content-messaging.md)
