---
module: devices.device-detail
title: Device Detail
tab: Testing
order: 35
audience: dev
---

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.
