4f84fc5e80
The 'dev' audience tier was gated via isInternal() (MSP_ADMIN || BCOS_ADMIN), so MSP admins could read developer/architecture content: technical.* and platform.* Overviews, agent-module internals, dev Internal/Overview tabs. Remap 'dev' to isBcos() (BCOS_ADMIN only) in visible(). Retag the 66 Testing docs from 'audience: dev' to 'audience: internal' so MSP keeps them, per Johannes. Result: MSP sees Customer + Internal + Testing (66 modules); loses all Architect/Claude/architecture. BCOS unchanged. Update platform.guide-access to the new model. Closes #18 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2.3 KiB
2.3 KiB
module, title, tab, order, audience
| module | title | tab | order | audience |
|---|---|---|---|---|
| devices.device-detail | Device Detail | Testing | 35 | internal |
Frontend test checklist for the Device Detail page (devices.bcos.dev). Open a device, click through the tabs and actions, and mark each row Pass or Fail.
Set up
Log in at devices.bcos.dev — test accounts (all password Passw0rd-d3v!):
| Login | Role | Sees |
|---|---|---|
bcos_a@bcos.dev |
Admin | All institutions · can edit everything |
msp_a@msp1.bcos.dev |
MSP admin | C1 + C2 only · can edit |
customer_a@customer1.bcos.dev |
Customer | C1 only · read-only |
Test devices are the simulators: C1-ATM-001…, C1-TCR-001…, C1-SRV-001… (and C2-/C3- for the other institutions).
What to test
| # | Do this | ✅ Pass if |
|---|---|---|
| 1 | As msp_a, open a device with the selector at the top, pick C1-ATM-001 |
Page loads; header shows the ATM ID plus a live Status and Agent Connection badge |
| 2 | Type part of a device ID/location into the selector's search box | The list narrows to matching devices; picking one switches the page to it |
| 3 | Click through the tabs (Details, System Info, Agent, Software, Hardware, Cassettes, Incidents, Activity, Task History…) | Each tab shows its content or a clear empty message — no blank page or crash |
| 4 | On Details, click Edit, change the terminal comment or location, click Save | Form closes and the new value is shown; it survives a page reload |
| 5 | Click Rename, change the display name, confirm | The header/ID updates to the new name |
| 6 | Click Move Institution, move C1-ATM-001 to C2, confirm |
Device now shows institution C2 (and disappears from a C1-only filter) |
| 7 | Click Reset to In Service on a device in supervisor/out-of-service state | Status badge changes to IN SERVICE |
| 8 | Click Deactivate on an active device | Device becomes INACTIVE and the button now reads Delete permanently (first click deactivates, not deletes) |
| 9 | Log in as customer_a, open a C1 device, try Edit → Save |
The change is rejected (error / nothing saves) — customers are read-only |
| 10 | Still as customer_a, open the device selector |
You see only C1 devices — no C2 or C3 |
Report a fail with: the row #, which login you used, and what you actually saw.