manage-assigne-test-plan.md
· 3.1 KiB · Markdown
Raw
# 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** |
manageAssignee E2E Test Plan
Setup
- Assigner creates transmittal with 2+ documents (PDF), assigns:
- User A → CHECKER
- User B → APPROVER
- User C → CC
- User A opens transmittal, annotates doc 1 (draw shape + sticky note)
- User B annotates doc 1 (draw text)
- 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 |