# Step 17 manual verification checklist

- [ ] Apply migration 009 only on the new ResellBD database after migrations 001–008 and seed 001.
- [ ] Verify tables `resellers`, `suppliers`, `commissions`, `payouts`, `ledger_entries` exist.
- [ ] As a logged-in customer, submit a valid reseller application; verify one `resellers` row with `pending` status.
- [ ] Submit supplier application; verify one `suppliers` row with `pending` status.
- [ ] Verify a second application of the same type is blocked for that user.
- [ ] As a non-admin, request `admin-partners.php`; expect HTTP 403.
- [ ] As admin, reject an application; verify status and no partner role is granted.
- [ ] As admin, approve another application; verify status `approved` and the correct role is inserted into `user_roles`.
- [ ] Verify invalid CSRF is rejected and text fields render escaped (try HTML/script text).
- [ ] Verify a user cannot approve their own application unless they already have an authorized admin role.
- [ ] Check narrow/mobile screen layout and Bengali text in cPanel browser.
- [ ] Do not treat commission/payout/ledger rows as operational until Step 20 financial rules and tests are implemented.
