Skip to content

Demo Script — Test Card

Andi Lamprecht Andi Lamprecht ·· 6 min read· Draft

Environment

SettingValue
Targetlocal / sandbox / dev (select one)
Base URLs
Localhttp://localhost:3000 (adjust per local setup)
Sandboxhttps://apollo-sandbox.uncrew.dev.droneup.cloud/otto-apollo-frontend/
Devhttps://apollo.uncrew.dev.droneup.cloud/otto-apollo-frontend/
Date
Tester

Playwright Tests

Automated E2E test stubs for this test card live in the frontend repo:

uncrew-apollo-frontend/e2e/demo-script.spec.ts

Test IDs in the tables below (e.g., S-01, L1-02) match the test names in the spec file. Run against any environment:

cd ../uncrew-apollo-frontend
E2E_TARGET=sandbox npx playwright test   # or local / dev

See uncrew-apollo-frontend/e2e/README.md for auth setup and codegen instructions.

Pre-Demo Setup (Section 3)

#TestPassNotes
S-01Application loads — login screen or landing page renders
S-02Authenticate as Observer / Authority role — Live Map loads
S-03(Optional) Jurisdictional Manager view accessible — Flight Review loads
S-04(Optional) Pilot / Operator view accessible — My Flights loads
S-05Live Map shows ADS-B Exchange / AirDex background traffic
S-06Jurisdictions are visible on the map
S-07Demo controls pull-out panel opens and closes
S-08Demo prep script (Ctrl+D → Start Setup) completes without error: creates ATOMx Alpha (software verified), ATOMx Bravo (hardware verified), Fort McNair jurisdictions, and pre-approved authorizations
S-09Jurisdiction selector renders as dropdown in top-right corner (not left panel)
S-10Full-screen map button is present and functional
S-11Navigation suppressed to demo-safe items only — Mission Console, Mission Manager, Vehicle Manager, Settings, Mission Planner are hidden
S-12Demo environment confirmed as apollo.uncrew.dev.droneup.cloud (dev)

Opening: COP Backdrop

#TestPassNotes
O-01Live Map renders with light gray basemap and moving aircraft dots
O-02No legends, panels, or labels visible on initial load (clean backdrop)
O-031 red dot (unknown flight) is already moving across the map on load — no manual start required

Act 1: Trust Levels

Layer 1 — Counter-UAS Feed Only (Red)

#TestPassNotes
L1-01Demo controls: Fly button is present
L1-02Clicking Fly places a red dot on the map
L1-03Red dot moves (live telemetry simulation)
L1-04Clicking red dot opens detail panel
L1-05Detail panel shows all fields as unknown / N/A
L1-06Legend shows Red = Unidentified (all five trust levels visible at all times)

Layer 2 — Remote ID Added (Declared)

#TestPassNotes
L2-01Demo controls: Remote ID button is present
L2-02Pressing Remote ID transitions the dot from red to orange
L2-03Clicking orange dot shows: pilot identity = declared with pilot name/identifier (not just “Declared Only”), UA identity = declared with Remote ID serial (not just “Declared”)
L2-04Detail panel shows flight intent = absent
L2-05Legend shows Orange = Declared

Layer 3 — Operational Intent Added (Correlated)

#TestPassNotes
L3-01Demo controls: Inject Intent button is present
L3-02Pressing Inject Intent places a shaded polygon on the map
L3-03Dot transitions automatically from orange to yellow upon OI injection (no separate correlation button needed)
L3-04OI polygon does not display a “too late” or temporal non-conformance status
L3-05OI polygon color matches the trust level color of the correlated aircraft (not always red)
L3-06Clicking yellow dot shows correlated status
L3-07Legend shows Yellow = Correlated

Layer 4 — Software Identity / Full Authorization (Authorized)

#TestPassNotes
L4-01Pre-authorized ATOMx Alpha flight is visible as a blue dot
L4-02Clicking blue dot shows: pilot = Verified (login.gov or equivalent — NOT “Software Verified”), UA = Software Verified (software certificate), flight = Authorized
L4-03All three axes populated in detail panel
L4-04Legend shows Authorized (trust level summary) — NOT “Software Verified” (drone identity attribute)

Layer 5 — Hardware Identity (Verified)

#TestPassNotes
L5-01Pre-authorized ATOMx Bravo flight is visible as a green dot
L5-02Clicking green dot shows: pilot = Verified (NOT “Hardware Verified”), UA = Hardware Verified (TPM attested)
L5-03Legend shows Green = Verified

Non-Conformance Scene

#TestPassNotes
NC-01Demo controls: Deviate button is present
NC-02Pressing Deviate causes the authorized aircraft to leave its authorized area geographically
NC-03Dot gains non-conformance indicator (pulsing border, exclamation, or similar)
NC-04Dot retains underlying trust level color (still blue/green underneath)
NC-05Clicking dot shows: conformance = non-conformant, identity fields unchanged
NC-06Red and orange dots do not show a non-conformance indicator (no intent = no conformance check)

Act 2: The Authority’s Role

#TestPassNotes
A2-01Jurisdictional Manager session: Flight Review / Authorizations tab loads
A2-02List of pending flight requests is visible
A2-03Each request shows: pilot, aircraft, requested area, time window
A2-04Approve/deny controls are present on each request
A2-05Approving a flight succeeds — operator receives notification showing flight name and authorization ID (not auth ID alone)
A2-06Approved flight appears as blue dot on Observer’s Live Map
A2-07Operator identity shows Verified (not “Validated”) after identity check
A2-08Show All Jurisdictions toggle is present on Live Map layer controls and overlays all jurisdiction boundaries when enabled

Closing: Full Common Operating Picture

#TestPassNotes
C-01Zooming out shows full demo area with multiple aircraft at different trust levels
C-02Multiple dot colors visible simultaneously (red, orange, yellow, blue, green)
C-03Operational intent polygons visible on map
C-04Orphaned OI polygon (no correlated aircraft) is visible
C-05Full legend is visible with all trust levels (static — all five levels always shown regardless of what is on screen)
C-06Demo controls: Populate Area button is present
C-07Pressing Populate Area spawns a fleet of predominantly L4/L5 (blue/green) flights across the demo region with one or two unknowns

Demo Controls Panel

#TestPassNotes
DC-01Panel slides out from left side of Live Map
DC-02Panel is labeled “Demo Controls”
DC-03Controls are simple buttons (no complex forms, no dropdowns)
DC-04Fly button is present
DC-05Pressing Fly starts the simulation and places a moving red dot on the map (does NOT open a sub-panel)
DC-06Buttons present: Remote ID, Inject Intent, Deviate, Populate Area
DC-07Pressing each button produces the correct trust level transition
DC-08Simulations generate telemetry through normal backend pipeline (not mocked)
DC-09Insertable operational intents do not show an “Activated” status badge
DC-10Insertable operational intents do not show a bearing field
DC-11Demo prep Reset button stops all simulations, cancels authorizations, and restores clean state

Summary

SectionTotalPassedFailedSkipped
Pre-Demo Setup12
Opening3
Layer 1 (Red)6
Layer 2 (Orange)5
Layer 3 (Yellow)7
Layer 4 (Blue)4
Layer 5 (Green)3
Non-Conformance6
Act 2 (Authority)8
Closing (COP)7
Demo Controls11
Total72
Last updated on