# Testing an Admin CSV Import

Testing must cover permissions, validation, database effects and feedback.

| Test | Condition | Expected result |
| --- | --- | --- |
| Logged out | Direct import URL | Redirect to login |
| Standard role | Direct URL or POST | 403; nothing imported |
| Valid CSV | Correct headings and rows | Expected records stored |
| Wrong heading | Changed column | File rejected |
| Invalid number | Text or negative result | Stated rejection policy |
| Duplicate ID | Existing identifier | Stated duplicate policy |
| Empty file | No usable rows | Clear rejection |
| Oversized file | Above limit | Rejected before parsing |

Record actual result, pass/fail and refinement. Verify the database rather than trusting the on-screen message.

Use fictional accounts and data. Hide credentials and unrelated information in screenshots.

## Completion checklist

- [ ] Direct access and processing are protected.
- [ ] Invalid data cannot silently enter storage.
- [ ] Counts reconcile with database rows.
- [ ] Error messages support correction.
- [ ] Retesting confirms refinements.