towerops/test/towerops_web/controllers
Graham McIntire 0e2cc6b7ce chore(coverage,types): clean dialyzer + new tests + ETH canopy provider
Dialyzer:
* Add Lidar.Tile @type, narrow several @specs to match success-typing,
  prefix discarded function returns with `_ =`, fix the broken
  File.stream! call in the ms-buildings worker (it was causing dialyzer
  to mark every private fun unreachable), broaden Antenna.spec key
  types from `float()` to `number()` to match catalog int literals.
* Add :geo, :geo_postgis, :db_connection to plt_add_apps so the dep
  PLT actually contains the modules we use.
* Result: 0 unsuppressed dialyzer warnings (was 50+ in project code).

Tree canopy:
* Replace the dead landfire.gov URL with the ETH Zurich Global
  Canopy Height 10 m product. ETH publishes proper COGs with
  overviews on libdrive.ethz.ch — confirmed working with
  /vsicurl/ byte-range reads. The module now picks the 3°×3° tile
  containing the bbox centroid, with both a `:metres` decoder
  (ETH Byte raster, NoData=255) and a `:landfire_evh` decoder for
  operators self-hosting LANDFIRE EVH COGs.
* Re-enable canopy by default now that there's a working source.

Tests (+105 tests, 0 failures):
* CoverageLive Index/Show/Form/Map — empty/loaded/auth states,
  LiveView event handlers, formatters.
* Coverages.Building changeset + helpers.
* Coverages.TreeCanopy provider tile-URL builder and decoders.
* Workers.MsBuildingsImportWorker (full import flow incl. blank
  lines, MultiPolygon, idempotency, hash fallback) — also fixed
  the partial-index ON CONFLICT bug that prevented imports from
  ever working: the unique index has WHERE ms_footprint_id IS
  NOT NULL, so the worker now uses an :unsafe_fragment conflict
  target that includes the predicate.
* GraphQLDocsController smoke test (was 0%).

Coverage rose from 73.19% → 74% with the major project modules I
touched all moved from 0% / <50% to >75%.
2026-05-07 09:11:17 -05:00
..
api feat(coverage): public REST API + KMZ export + email-on-complete 2026-05-06 17:15:57 -05:00
admin_controller_test.exs fix(tests): enable TOTP in final AdminControllerTest 2026-03-06 07:45:28 -06:00
api_docs_controller_test.exs feat: add Force10 FTOS and optical transceiver monitoring (ProCurve, Comware) 2026-02-12 08:19:12 -06:00
debug_controller_test.exs feat: add critical network switch sensor support (HP Comware, Dell PowerConnect, Dell SONiC) 2026-02-11 17:36:45 -06:00
error_html_test.exs Fix tests, credo issues, and Gaiia sync bugs 2026-02-15 11:55:49 -06:00
error_json_test.exs security: implement comprehensive security audit fixes 2026-03-05 13:08:10 -06:00
graphql_docs_controller_test.exs chore(coverage,types): clean dialyzer + new tests + ETH canopy provider 2026-05-07 09:11:17 -05:00
health_controller_test.exs security: implement comprehensive security audit fixes 2026-03-05 13:08:10 -06:00
invitation_controller_test.exs refactor/dry-improvements (#202) 2026-03-28 10:56:34 -05:00
page_controller_test.exs feat: add Accept: text/markdown content negotiation for agent compatibility 2026-04-17 14:14:31 -05:00
page_html_test.exs fix: resolve compilation errors, test failures, and credo issues 2026-02-14 12:23:10 -06:00
sitemap_controller_test.exs test: improve sitemap controller test coverage 2026-04-17 14:00:57 -05:00
user_confirmation_controller_test.exs test: add on-call, incident, and PagerDuty notification test coverage 2026-03-14 15:10:27 -05:00
user_registration_controller_test.exs test: add controller and LiveView test coverage for untested endpoints 2026-03-14 15:21:12 -05:00
user_reset_password_controller_test.exs test: expand coverage for devices, workers, and LiveView modules 2026-02-12 09:06:41 -06:00
user_session_controller_test.exs fix user session controller test 2026-02-03 13:42:24 -06:00
user_session_html_test.exs purge more passkey and gettext updates 2026-02-02 10:20:59 -06:00
user_settings_controller_test.exs Convert User Settings from controller to LiveView 2026-01-15 16:29:50 -06:00
user_settings_html_test.exs remove passkeys for now 2026-01-31 09:50:35 -06:00
user_sudo_controller_test.exs fix: address UserSudoController critical issues 2026-02-01 14:45:05 -06:00
well_known_controller_test.exs feat: add /.well-known discovery endpoints for agent readiness 2026-04-17 14:06:51 -05:00