Skip to content

Multistate indicator selection / table validation fails across most states and sections #34

Description

@saqibmanan

Found while verifying #31's CI run. Real, currently-live, and confirmed independent of two other fixes merged the same day.

What's failing

TestMultiStateIndicatorsMapView, TestMultiStateIndicatorsChartView, TestMultiStateIndicatorsTableView, and TestSectionCoverageByState in tests/test_analytics.py — across most states and most sections (Hazard, Exposure, Vulnerability, Government Response), across Map, Chart, and Table views.

Two failure shapes:

Map/Chart — the indicator click itself fails:

AssertionError: ❌ 2/4 indicators FAILED
    • Elderly population: Failed to select indicator
    • Children population: Failed to select indicator

Table — indicator selection succeeds, data validation fails:

AssertionError: ❌ 2/2 indicators FAILED (Table View)
    • Total Monthly Rainfall: Table validation failed
    • Mean intensity of inundation (removing 0 intensity pixels): Table validation failed

Table-view failures are expensive: the shard with the bulk of them ran 2h28m, largely from 61 pytest-rerunfailures reruns — each failure gets retried and fails again.

Confirmed independent of #28 and #29

Both PRs were merged into main (2026-09-08) before the CI run that produced this. This failure pattern reproduced identically in two separate full-regression runs on #31 — one before merging #28/#29 into the branch, one after. So it isn't the disaster-hub navigation issue #28 fixed, and it isn't the self-healing false-positive issue #29 fixed.

Leading theory, not yet checked

There's an existing documented requirement (second-brain memory project_analytics_district_selection) that Chart and Table views need district + revenue circle selected right after select_view(), or they show no data — the dropdowns don't even render until a view is active. Worth checking first whether TestMultiStateIndicatorsChartView/TableView actually do that selection correctly before assuming the indicator locators themselves are stale.

Separately: this PR (#31) did find and fix 6 stale GovtResponseLocators leaf locators — but those were in select_govt_response_option(), a different, previously-dead-code method never called by any test before #31. TestMultiStateIndicatorsMapView etc. use select_indicator_by_text() instead, which has not been audited for the same kind of drift.

Not done

Deliberately not investigated further in this session — flagged and deferred rather than bolted onto an unrelated PR. This card exists so it doesn't get lost.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions