towerops/test/towerops_web/live
Graham McIntire b735adc067 feat(insights): RF-aware channel-conflict — multi-source noise + Preseem
Same-channel conflicts at one site are not all equal. A pair of APs
sharing a channel in a clean RF environment is a planning issue;
the same pair in a contaminated environment is an outage waiting to
happen. This commit makes the rule reason across sources before
deciding urgency.

- Towerops.Snmp.RfHealth — cross-source helper that combines:
  * Most recent noise-floor / noise sensor on the AP (dBm)
  * Preseem rf_score and qoe_score from the linked AccessPoint row
  * Average CPE SNR and client count from wireless_clients
  Returns a snapshot map and an interference_severity/1 classifier
  (:critical | :warning | :ok). Critical when noise floor >= -80 dBm
  OR Preseem rf_score < 4.0; warning when avg CPE SNR < 15 with
  active clients.
- OwnFleetChannelConflict now enriches each conflicting AP with its
  noise floor, rf_score, qoe_score, avg CPE SNR, CPE count, and a
  per-AP rf_severity. Urgency promotes to critical when 3+ APs share
  a channel OR any conflicting AP shows critical RF health.
- UI: amber card now renders an evidence table with width, noise,
  rf_score, CPE SNR, and CPE count per AP, plus a "Critical RF
  environment detected" badge when has_critical_rf is true.

Also strengthens the previous flake fix on agent_live_test.exs:567
by switching to Req.Test shared mode (the test is sync), so the
ReleaseChecker stub is visible to the LiveView process regardless of
when it spawns relative to setup. The earlier Req.Test.allow approach
relied on stub timing that didn't always hold under full-suite load.

11 new tests across RfHealth + the enriched rule. LLM enrichment
automatically picks up the richer metadata via the existing Phase 1
worker.
2026-05-09 17:25:26 -05:00
..
account_live test: account activity request_path + data_accessed render branches 2026-05-09 09:28:18 -05:00
admin test: cover Admin OrgLive override / pricing event paths 2026-05-09 12:04:48 -05:00
agent_live test: lift coverage 84.08% → 84.99%; exclude declarative modules from coverage 2026-05-08 11:18:26 -05:00
alert_live test: AlertLive sort_alerts impact branch + minor sweep 2026-05-08 18:27:06 -05:00
check_live test: lift coverage 79.78% → 80.92%+ with broad new tests 2026-05-08 09:11:06 -05:00
components test: GlobalSearch keyboard nav + StatusPageLive mount + Coverages.Profile clutter polygons 2026-05-08 13:23:13 -05:00
coverage_live test: CoverageLive.Map probe_point malformed input + coverage_status broadcast 2026-05-09 12:41:15 -05:00
device_live test: stabilize DeviceLive.Index health-color tests; drop deadlock-prone latency cases 2026-05-09 13:09:00 -05:00
device_live_nested chore: remove backup files from sed operations 2026-03-06 07:57:30 -06:00
graph_live test: GraphLive.Show error branches for missing sensor/storage/interface 2026-05-09 11:58:48 -05:00
help_live test: HelpLive generate_password success/failure/transport-error branches 2026-05-09 10:17:51 -05:00
helpers test: fix all compile warnings in subscriber matching tests 2026-03-10 13:02:32 -05:00
maintenance_live test: alert severity badges, maintenance form save success paths 2026-05-09 10:12:19 -05:00
mikrotik_backup_live test: lift coverage 79.59% → 79.85% with more focused tests 2026-05-07 19:16:13 -05:00
org test: Org.SettingsLive billing tab paid plan and past-due rendering 2026-05-09 12:45:26 -05:00
org_live fix test warnings and failures 2026-02-05 15:24:41 -06:00
site_live tests: raise coverage to 70% via helper promotion + new unit/property tests 2026-04-24 09:49:06 -05:00
trace_live test: fix slow + flaky tests (Mox global, env pollution, pool starvation) 2026-05-08 14:43:30 -05:00
user_settings_live test: more LiveView event coverage (TotpManager, ApiTokenManager, OrgSettings) 2026-05-07 14:32:35 -05:00
activity_feed_live_test.exs test: GraphLive live mode + Show snmp_sensor format + Alert/Activity events 2026-05-08 18:12:32 -05:00
agent_live_test.exs feat(insights): RF-aware channel-conflict — multi-source noise + Preseem 2026-05-09 17:25:26 -05:00
alert_live_events_test.exs test: GraphLive live mode + Show snmp_sensor format + Alert/Activity events 2026-05-08 18:12:32 -05:00
alert_live_test.exs test: alert severity badges, maintenance form save success paths 2026-05-09 10:12:19 -05:00
config_timeline_live_helpers_test.exs tests: raise coverage to 70% via helper promotion + new unit/property tests 2026-04-24 09:49:06 -05:00
config_timeline_live_test.exs test: lift coverage 84.08% → 84.99%; exclude declarative modules from coverage 2026-05-08 11:18:26 -05:00
dashboard_live_test.exs test: TcpExecutor receive_timeout + Preseem.get_device_qoe_data 2026-05-09 12:18:47 -05:00
escalation_policy_live_test.exs feat(on_call): drag-drop reorder + restrictions editor + new-schedule polish 2026-04-28 14:27:38 -05:00
insights_live_events_test.exs feat(insights): SectorOverload + CpeRealign recommendation rules 2026-05-09 17:07:15 -05:00
integrations_smoke_test.exs ci: enable PostGIS in test workflows + add tests covering ~3pp more 2026-05-05 10:35:22 -05:00
live_helpers_test.exs tests: raise coverage to 70% via helper promotion + new unit/property tests 2026-04-24 09:49:06 -05:00
map_live_events_test.exs test: cover live view event handlers, invitation query, fix flaky timeout test 2026-05-05 11:13:01 -05:00
mobile_qr_live_test.exs test: lift coverage 84.08% → 84.99%; exclude declarative modules from coverage 2026-05-08 11:18:26 -05:00
my_data_live_test.exs gdpr (#86) 2026-03-19 14:28:31 -05:00
network_map_live_events_test.exs test: lift coverage 78.42% → 79.59% with focused unit + integration tests 2026-05-07 18:40:43 -05:00
network_map_live_test.exs test: refactor LiveView tests to use HTML-aware element/form helpers 2026-04-29 11:14:20 -05:00
onboarding_live_test.exs test: sweep more branches in sync workers + Onboarding + Gaiia insights 2026-05-08 18:21:49 -05:00
org_live_test.exs fix: improve insight auto-resolution and query performance 2026-03-05 10:11:52 -06:00
reports_live_test.exs test: ReportsLive toggle/delete/run_now + UserRegistration invitation paths + SiteLive geocode/apply 2026-05-08 12:53:06 -05:00
rf_link_health_live_helpers_test.exs tests: raise coverage to 70% via helper promotion + new unit/property tests 2026-04-24 09:49:06 -05:00
schedule_live_test.exs test: more coverage across LiveViews (gaiia mapping, schedule, integrations) 2026-05-08 09:58:10 -05:00
site_live_test.exs test: SiteLive force_rediscover + CoverageLive.Show coverage_status broadcast 2026-05-08 13:16:13 -05:00
smoke_test.exs ci: enable PostGIS in test workflows + add tests covering ~3pp more 2026-05-05 10:35:22 -05:00
status_page_live_helpers_test.exs tests: raise coverage to 70% via helper promotion + new unit/property tests 2026-04-24 09:49:06 -05:00
status_page_live_test.exs test: GlobalSearch keyboard nav + StatusPageLive mount + Coverages.Profile clutter polygons 2026-05-08 13:23:13 -05:00
user_registration_live_test.exs test: ReportsLive toggle/delete/run_now + UserRegistration invitation paths + SiteLive geocode/apply 2026-05-08 12:53:06 -05:00
user_reset_password_live_test.exs test: UserResetPasswordLive HIBP check_password_breach with value branch 2026-05-09 10:07:45 -05:00
user_settings_live_test.exs test: UserSettingsLive delete_api_token + revoke_session/mobile_device events 2026-05-09 10:27:53 -05:00
weathermap_live_events_test.exs test(api_docs): assert page renders rather than checking for sample_token 2026-05-07 15:57:36 -05:00
weathermap_live_test.exs test: add LiveView tests following testing-liveview patterns 2026-05-07 12:55:39 -05:00