--- module: recon.device-cycle-mgmt title: Device Cycle Management tab: Testing order: 35 audience: internal --- Frontend test checklist for **Device Cycle Mgmt** in Cash Reconciliation (`recon.bcos.dev`). Click through in the UI and mark each row Pass or Fail. ## Set up Log in at **recon.bcos.dev** — test accounts (all password `Passw0rd-d3v!`): | Login | Role | Sees | |-------|------|------| | `bcos_a@bcos.dev` | Admin | All institutions · can save | | `msp_a@msp1.bcos.dev` | MSP admin | C1 + C2 only · can save | | `customer_a@customer1.bcos.dev` | Customer | C1 only · read-only | Open the **Device Cycle Mgmt** screen in Recon. Devices are the simulator ATMs: **C1-ATM-001…** (and C2-/C3- for the other institutions). ## What to test | # | Do this | ✅ Pass if | |---|---------|-----------| | 1 | As `msp_a`, open **Device Cycle Mgmt** | Two lists show — **Available** (left) and **Selected for Recon** (right) — each with a count badge in its header | | 2 | Type `C1-ATM` in the **Available** Filter box, then clear it | List narrows to only matching ATM IDs; clearing the box shows the full list again | | 3 | Click an ATM in **Available**, then click the **>** button | The ATM highlights blue on click, then moves to **Selected** and the Selected count goes up by one | | 4 | **Double-click** an ATM in either list | It jumps to the other list instantly (one move, no page reload) | | 5 | Click **>>** (move all) | Available empties and shows **"All ATMs are selected"**; Selected count equals the total | | 6 | Click **<<** (remove all) | Selected empties and shows **"No ATMs selected — all will be shown"** | | 7 | Select a few ATMs, click **Save Selection** | A green message appears: **"Saved. Cash Reconciliation will show N ATMs."** Reload the page — the same ATMs stay in Selected | | 8 | Clear everything, click **Save Selection** | Message reads **"Selection cleared — showing all ATMs"** (empty is valid — not a failure) | | 9 | Log in as `customer_a`, open the screen, click **Save Selection** | You can view and drag ATMs, but saving shows a red **"Save failed"** message — customers are read-only | | 10 | As `customer_a` look at the lists; then as `msp_a` | `customer_a` sees **only C1** ATMs; `msp_a` sees **C1 and C2** but **not C3** | **Report a fail with:** the row #, which login you used, and what you actually saw.