# UI Smoke Test Checklist Run these manual tests after any significant frontend change. Start the server with: ```bash uvicorn web.app:app --reload --port 8000 ``` Then open [http://localhost:8000](http://localhost:8000). --- ## 1. First Run — Project Switcher - [ ] On first load (no `migrator_projects` in localStorage), the project switcher modal opens automatically - [ ] Welcome copy is visible: "No projects yet. Create one below to get started." - [ ] Cancel closes the modal (app loads with empty state) - [ ] Type "Test Customer" in the name field → click Create Project - [ ] Modal closes; nav footer shows "Test Customer" in the project button - [ ] Nav footer "Current Project" label shows "Test Customer" ## 2. Project CRUD - [ ] Click the project button in the nav → switcher modal opens - [ ] "Test Customer" row shows with "● Active" badge - [ ] Create a second project "Acme Corp" - [ ] "Acme Corp" row appears; clicking it activates it and closes the modal - [ ] Nav footer now shows "Acme Corp" - [ ] Switch back to "Test Customer" - [ ] Delete "Acme Corp" → confirmation dialog → confirm → row disappears ## 3. Authentication (requires .env credentials) - [ ] Top bar shows two disconnected chips (red dot): "Adobe Sign" and "DocuSign" - [ ] Click "Adobe Sign" chip → connects via `.env` refresh token → chip turns green - [ ] Click "DocuSign" chip → redirects through OAuth if needed, then chip turns green - [ ] Disconnecting either chip → chip turns red → templates clear ## 4. Templates View - [ ] Navigate to Templates (default view or via nav) - [ ] Templates load in a table with columns: Name, Readiness, Issues, Last Modified, DS Status, Actions - [ ] Each template has a readiness badge (Ready / Caveats / Blocked / Migrated / Needs Update) - [ ] Search bar filters by name in real time - [ ] Status filter tabs (All / Not Migrated / Migrated / Needs Update) filter correctly - [ ] "Blocked" and "Caveats" filter tabs show correct counts - [ ] Clicking a column header sorts the table; clicking again reverses direction - [ ] Checking a template checkbox shows the bulk bar: "1 template(s) selected" - [ ] Selecting multiple templates updates the bulk bar count - [ ] "Clear" button in bulk bar deselects all ## 5. Template Detail - [ ] Click a template name → navigates to `#/templates/:id` - [ ] Breadcrumb shows "← Templates" link - [ ] Overview tab: shows Adobe ID, last modified date, migration status - [ ] Issues tab: if template has blockers/warnings, shows them; otherwise shows "All ready" callout - [ ] Migration History tab: shows past migrations for this template (or "No history" callout) - [ ] "Migrate" button in detail header opens options modal ## 6. Dry Run Migration - [ ] Select 1–3 templates → click "Migrate Selected →" - [ ] Options modal opens with toggles (Dry Run off, Overwrite off, Include Documents on) - [ ] Enable Dry Run toggle → click "Run Migration" - [ ] Progress modal shows per-template rows with 🔍 icons - [ ] "View Results →" button appears when complete - [ ] Results view shows Dry Run count > 0, Created/Updated = 0 - [ ] Export CSV button downloads a CSV file ## 7. Real Migration - [ ] Select templates that are "Not Migrated" - [ ] Options modal → Dry Run off, Overwrite off → Run Migration - [ ] Progress shows ✅ icons for created templates - [ ] Results view shows Created count > 0 - [ ] Navigate back to Templates → readiness badges update to "Migrated" ## 8. Issues & Warnings View - [ ] Navigate to Issues & Warnings via nav - [ ] If any templates have blockers: Blockers section shows with red styling - [ ] If any templates have warnings: Warnings section shows "Migrate Anyway" button - [ ] "View Detail" links navigate to the correct template detail page - [ ] Nav badge on "Issues & Warnings" shows correct blocked count (or hidden if 0) ## 9. Verification View (requires DocuSign credentials) - [ ] Navigate to Verification via nav - [ ] Migrated templates appear in the table with "Not Tested" status - [ ] Click "Send Test" → dialog opens with pre-filled name/email from Settings - [ ] Enter test recipient → Send Test → row status changes to "Sent" with spinner - [ ] Status polls every 5s; updates to "Delivered" then "Completed" (or "Verified") - [ ] "Void" button appears → clicking it confirms and voids the envelope → status → "Voided" ## 10. History & Audit View - [ ] Navigate to History & Audit - [ ] All migration records appear in a table, newest first - [ ] Search by template name filters rows - [ ] Status filter tabs work correctly - [ ] Date range filter narrows results - [ ] Clicking a row with warnings/blockers expands to show them - [ ] Checksum column shows 8-char truncation; hover shows full hash - [ ] "Export CSV" downloads a CSV with all filtered rows ## 11. Settings - [ ] Navigate to Settings via nav - [ ] Fill in test recipient name and email → Save → "✓ Saved" confirmation appears - [ ] Refresh page → values persist in the form (read from localStorage) - [ ] Toggle "Overwrite Existing by Default" → Save → open migration modal → toggle starts in correct state - [ ] Connection info section shows correct Adobe Sign and DocuSign connection status --- ## Regression: Backend Test Suite After any changes: ```bash pytest tests/ -v ``` Expected: **≥ 118 tests passing**