---
module: reports.schedule
title: Scheduling & Distribution
tab: Testing
order: 35
audience: dev
---

Frontend test checklist for **Reports — scheduling & distribution** (`report.bcos.dev`). Click through in the UI and mark each row Pass or Fail.

## Set up
Log in at **report.bcos.dev** — test accounts (all password `Passw0rd-d3v!`):

| Login | Role | Sees |
|-------|------|------|
| `bcos_a@bcos.dev` | Admin | All institutions |
| `msp_a@msp1.bcos.dev` | MSP admin | C1 + C2 only |
| `customer_a@customer1.bcos.dev` | Customer | C1 only |

Reports are **per-user** — everyone can build/schedule their own. Test devices are the simulators: **C1-ATM-001…**, **C1-TCR-001…** (and C2-/C3- for the other institutions).

## What to test

| # | Do this | ✅ Pass if |
|---|---------|-----------|
| 1 | As `msp_a`, open **Reports** | Page loads with **Templates** and **Run History** tabs, plus **My Reports** and **Shared Reports** sections |
| 2 | **+ New Report** → give a **Name**, pick a **Data Source** (e.g. Incidents), tick a few **Columns**, **Save Report** | New report appears in **My Reports** with a **Manual** schedule |
| 3 | **Edit** that report → tick **Enable Schedule** → pick **Frequency: Weekly**, set a **Time** and **Day(s)** → **Save Report** | Row now shows a **schedule badge** and a **Next Run** time (the cron/summary preview updated as you changed fields) |
| 4 | On the report click **Queries** → **+ New Query** → name it, pick **Last 30 days**, leave ATMs empty → **Save Query**, then **Set Scheduled** | Query appears in the list and shows a **Scheduled** badge (Set Scheduled becomes **Unschedule**) |
| 5 | Click **▶ Run** on the report → choose the saved query (or **Custom (one-off)**) → **▶ Run Report** | You land on **Run History** and the new run appears, moving **Pending → Running → Completed** |
| 6 | On the completed run click **Preview**, then **Download** | Preview opens the data in-app; Download saves a CSV/JSON file |
| 7 | Back on Templates, click **Share** on the report | Button toggles and the row shows a **Shared** badge (click again to Unshare) |
| 8 | Log in as `customer_a`, open a query's **ATM** picker (New Query on any report) | ATM list shows **only C1** devices (C1-ATM-001…) — no C2 or C3 |
| 9 | As `msp_a`, open a query's **ATM** picker | ATM list shows **C1 and C2** devices but **not C3** |
| 10 | As `customer_a`, look at **My Reports** | You see **only your own** reports — `msp_a`'s reports are not listed unless they were shared to you |

**Report a fail with:** the row #, which login you used, and what you actually saw.
