a4fed063f7
test: normalize_ssid integer coercion + keyset cursor pagination
2026-04-24 09:58:40 -05:00
2a69499488
test: expand Is coverage — terminate w/ socket, backpressure idempotency, status fallback
2026-04-24 09:47:59 -05:00
84a61bd95c
test: expand coverage on cluster, shutdown, signal, packets helpers
2026-04-24 09:38:27 -05:00
3c5447e0b6
test: Packets MicE struct + ParseError position extraction
2026-04-24 09:11:11 -05:00
bd3f5c0434
test: PacketConsumer item/object detection branches
2026-04-24 08:58:43 -05:00
4ea38c0585
test: store_bad_packet error-shape branches
2026-04-24 08:57:12 -05:00
d01a15eac0
test: reset Hammer rate limiter state in MapLive.Index suite
2026-04-24 08:54:56 -05:00
eb6801c927
test: Application module smoke test
2026-04-24 08:50:24 -05:00
8be2fb5a77
test: LeaderElection attempt_election + leader_call callbacks
2026-04-24 08:49:53 -05:00
dc1b9d8bcb
test: Packets error paths
2026-04-24 08:44:05 -05:00
c9ce044830
test: DeviceIdentification circuit breaker fetch path
2026-04-24 08:41:02 -05:00
0d4beeb215
test: ConnectionManager direct leadership_change callback coverage
2026-04-24 08:37:12 -05:00
54c3e9fd5e
test: DatabaseMetrics pool-not-registered path
2026-04-24 08:34:54 -05:00
881e0dcd4f
test: DeviceCache non-test-env initial load path
2026-04-24 08:34:05 -05:00
1524497531
test: Packets store_packet with various coordinate encodings
2026-04-24 08:31:30 -05:00
d1ca6d3e66
test: Aprsme.Application config_change + module smoke
2026-04-24 08:29:11 -05:00
3887712d23
test: LeaderElection cluster status aggregation
2026-04-24 08:25:36 -05:00
cb127964ba
test: RegexCache LRU eviction path (100% coverage)
2026-04-24 08:23:52 -05:00
791733af45
test: SpatialPubSub broadcast paths and client lifecycle
2026-04-24 08:23:04 -05:00
093713f042
test: DeviceIdentification lookup_device_from_db fallback path
2026-04-24 08:18:58 -05:00
8dad09e27d
fix(packet_replay): order sanitize_value clauses; update state on stop; test send_packet paths
2026-04-24 08:17:23 -05:00
1d22e6e59b
test: Packets store_packet edge cases (nested/string-keyed data_extended)
2026-04-24 08:10:25 -05:00
00af878d1d
test: Aprsme.Is init/1 connect success and failure paths
2026-04-24 08:05:27 -05:00
f7a331b708
test: Aprsme.Is reconnect success + connect-failure paths
2026-04-24 08:04:17 -05:00
14c3790df0
test: Aprsme.Is active-socket branches via TCP loopback, IsSupervisor smoke
2026-04-24 08:03:19 -05:00
e95dbb39e0
test: Aprsme.Is helper functions without server running
2026-04-23 18:27:49 -05:00
d9f07e313a
test: QueryBuilder recent_position_packets/callsign_history/weather_packets
2026-04-23 18:25:32 -05:00
1b9743191a
test: broader InfoLive rendering + PacketReplay update_filters branches
2026-04-23 18:23:55 -05:00
b6f34b9cb3
test: PacketConsumer batch sizing branches
2026-04-23 18:20:32 -05:00
59e478449a
test: LeaderElection direct handle_info callbacks
2026-04-23 18:19:42 -05:00
a7071ecef1
test: AprsIsMock, DeviceIdentification, PacketCleanupWorker coverage
2026-04-23 18:13:02 -05:00
fac52cf288
test: broaden coverage across Packets/Weather/Info/Map/Status modules
2026-04-23 18:04:36 -05:00
c8c20add1f
test: expand Is backpressure, PacketReplay, CleanupScheduler coverage
2026-04-23 17:56:07 -05:00
fb1131159b
test: add store_bad_packet binary+map inputs
2026-04-23 17:44:45 -05:00
b085c8fcdb
test: expand QueryBuilder coverage with time range and callsign filters
2026-04-23 17:39:37 -05:00
da080ed55d
test: add RegexCache bulk pattern test and PageController uptime format
2026-04-23 17:31:57 -05:00
1b508ba61d
fix(cache): use case instead of rescue to handle :undefined table info; expand Cache tests
2026-04-23 17:31:56 -05:00
fb2e997ca7
test: cover Aprsme.Is TCP data buffering and deployment init
2026-04-23 17:31:56 -05:00
56bc152b49
test: dispatch various APRS packet formats in Is tests
2026-04-23 17:31:56 -05:00
30d852fbc5
test: info_live full render with various packet types
2026-04-23 17:11:50 -05:00
32d4b6daff
test: cover PacketDistributor GenServer callbacks
2026-04-23 17:11:50 -05:00
e3dfdf03ba
test: cover PacketConsumer init and process_batch callbacks
2026-04-23 16:58:13 -05:00
089ea1f4fb
test: expand Packets tests with positions and latest-packet helpers
2026-04-23 16:49:54 -05:00
49374fdbc3
test: expand Accounts and PartitionManager coverage
2026-04-23 16:49:54 -05:00
a5b2c4bccb
test: cover UserAuth, StatusLive handlers and UserNotifier
2026-04-23 16:40:47 -05:00
46e71019de
test: expand coverage for Layouts, DeviceCache, Components and others
2026-04-23 16:36:01 -05:00
41731257e6
test: cover auth LiveViews, PacketReplay, ShutdownHandler and more
2026-04-23 16:30:51 -05:00
16d2e929c0
test: push coverage to 70% with more CoreComponents and PostgresNotifier
...
- CoreComponents.input/1: expanded coverage to include the select,
textarea, generic-text, and unchecked-checkbox branches, plus
error-vs-no-error border styling.
- PostgresNotifier: handle_info forwards pg_notify payload to
Aprsme.PubSub and ignores unrelated messages.
Coverage 69.56 → 70.11%.
2026-04-23 16:18:04 -05:00
fa893dd12e
test: cover ErrorHTML, Layouts, MapLive.Components, CoreComponents, Accounts
...
- ErrorHTML: explicit 400 path + 401/403/999 delegation.
- Layouts.body_class/1 returns the expected light/dark theme classes.
- MapLive.Components: map_container + slideover_panel exercising all
connection_status variants, loading state, tracked_callsign clear
button, and view-mode radios.
- CoreComponents: icon (found + fallback), button, label, error,
flash (info + error + close=false), checkbox input, JS composers.
- Accounts: get_user_by_email{_and_password}, get_user!, register_user
happy-path + error paths, change_* changesets, session-token
round-trip.
Refactor: DeviceIdentification.maybe_refresh_devices splits its nested
logic into fetch_most_recent_device/0, to_datetime/1, and
refresh_if_stale/2 — each a multi-clause function matching on shape.
Coverage 68.28 → 69.56%.
2026-04-23 16:16:31 -05:00
ab0204f3dc
test: add StreamData properties for Aprsme.GeoUtils
...
Four properties exercise haversine_distance / significant_movement?:
- non-negativity across any in-range coordinate pair
- symmetry: d(a, b) == d(b, a) within a tight tolerance
- identity: d(p, p) == 0.0
- significance agrees with (haversine > threshold) for any integer
threshold in 1..1000
Total: +4 properties, coverage stays clean (dialyzer: 0 new errors).
2026-04-23 15:14:12 -05:00