# manageAssignee E2E Test Plan ## Setup 1. **Assigner** creates transmittal with 2+ documents (PDF), assigns: - User A → CHECKER - User B → APPROVER - User C → CC 2. **User A** opens transmittal, annotates doc 1 (draw shape + sticky note) 3. **User B** annotates doc 1 (draw text) 4. **User C** annotates doc 2 (draw arrow) --- ## Test Cases ### 1. Cancel CHECKER → annotations deleted, others preserved | Who | Action | Verify | |---|---|---| | Assigner | Cancel User A | User A removed from approval list | | User A | Re-open transmittal | Doc 1 annotations **gone** (hard-deleted) | | User B | Open doc 1 | Annotations **still there** | | User C | Open doc 2 | Annotations **still there** | ### 2. Cancel CC → annotations deleted | Who | Action | Verify | |---|---|---| | Assigner | Cancel User C | User C removed from CC list | | User C | Re-open transmittal | Doc 2 annotations **gone** | ### 3. Switch user → old annotations deleted, new user fresh | Who | Action | Verify | |---|---|---| | Assigner | Switch User B → User D | User B removed, User D now APPROVER | | User B | Re-open | Annotations **gone** | | User D | Open doc 1 | No annotations (fresh) | ### 4. SwitchRole CK/AP → CC → annotations preserved | Who | Action | Verify | |---|---|---| | Assigner | Re-assign User A as CHECKER | — | | User A | Annotate doc 1 again | — | | Assigner | SwitchRole User A → CC | User A now CC, not in approval list | | User A | Open doc 1 | Annotations **still there** (same user) | ### 5. SwitchRole CC → CK/AP → annotations preserved | Who | Action | Verify | |---|---|---| | Assigner | SwitchRole User A → CHECKER | User A now CHECKER | | User A | Open doc 1 | Annotations **still there** | ### 6. SwitchRole CK ↔ AP → annotations preserved | Who | Action | Verify | |---|---|---| | Assigner | SwitchRole User A → APPROVER | User A now APPROVER | | User A | Open doc 1 | Annotations **still there** | --- ## Activity Log — Human-readable | Action | Expected log text (example) | |---|---| | Cancel CHECKER | `Jane Doe cancelled CHECKER assignment for John Smith.` | | Cancel CC | `Jane Doe cancelled CC assignment for John Smith.` | | Switch | `Jane Doe switched CHECKER assignment from John Smith to Bob Wilson.` | | SwitchRole → CC | `Jane Doe changed John Smith role from CHECKER to CC.` | | SwitchRole CC → CK | `Jane Doe changed John Smith role from CC to CHECKER.` | | SwitchRole CK ↔ AP | `Jane Doe changed John Smith role from CHECKER to APPROVER.` | --- ## Notifications | Action | Who gets notified | Content | |---|---|---| | Cancel | Canceled user | Assignment cancelled | | Switch | Old user + new user | Switched + assigned | | SwitchRole | Affected user | Role changed | --- ## Auth — Negative cases | Who | Action | Expected | |---|---|---| | Submitter (not assigner) | Cancel any user | **403** "Only the user who assigned this participant..." | | Assigner X | Cancel user assigned by Assigner Z | **403** (only own assignees) | | Anyone | Cancel on closed transmittal | **412** | | Anyone | Cancel user already approved | **412** | | Anyone | SwitchRole CK ↔ CK (same role) | **400** |