id,title,preconditions,steps,expected
QA-001,Country filter basic,Data loaded; Ecuador has >100 records,Open Atlas → Select Country: Ecuador,Map zooms to Ecuador; gallery shows only Ecuador records; count label updated
QA-002,Elevation filter,Records with elevation_m exist 0–4000,Set Elevation 1500–9999,Only records with elevation_m ≥1500 appear; legend updates
QA-003,Month filter,Records across months exist,Set Month: May–July,"Only month_observed in [5,6,7] appear; time slider reflects range"
QA-004,Taxon filter,Sarcochilus records exist,Filter Genus: Sarcochilus,Only Sarcochilus records visible; gallery and map match
QA-005,Hybrid flag,Hybrid and species records present,Toggle Hybrid only,Only hybrid_flag=true records appear
QA-006,Pollinator filter,Hawkmoth-tagged records exist,Filter Pollinator: hawkmoth,Only hawkmoth records remain; legend chip shows filter
QA-007,Country feature page routing,Country pages enabled,Visit /country/EC → Click 'Explore All',Atlas opens with Ecuador preselected; filters applied
QA-008,Map ↔ Gallery sync,Multiple records visible,Click a gallery card,Corresponding map marker highlights; detail drawer opens
QA-009,Clustering,Zoomed-out world view,Zoom out to global scale,Markers cluster; counts readable; performance acceptable
QA-010,Heatmap toggle,Sizable dataset,Enable Heatmap,Heatmap renders density; toggling off restores markers
QA-011,Uncertainty rings,Records with geoprecision_m>1000,Filter records with large geoprecision,Markers display translucent uncertainty circles with correct radius
QA-012,Export CSV,User logged in; filter applied,Batch select → Export CSV,CSV contains only filtered fields/rows; respects license
QA-013,Export GeoJSON,User logged in; bbox set,Draw bbox → Export GeoJSON,GeoJSON contains features within bbox; properties limited to allowed fields
QA-014,Accessibility - keyboard,Browser supports ARIA,Navigate filters via Tab/Shift+Tab; apply via Enter/Space,Focus states visible; screen reader announces changes
QA-015,Performance - debounced filters,Standard laptop,Drag elevation slider rapidly,Network calls are debounced; UI stays responsive
QA-016,Saved filters,User account created,Apply filters → Save as 'Madagascar white night-blooming' → Recall,Saved combo restores identical results
QA-017,License display,Attribution fields present,Open detail drawer,Attribution and license display correctly and consistently
QA-018,Admin import validation,Admin user,Upload CSV with missing required fields,Import fails with clear report of missing/invalid fields
QA-019,Spatial filter by map extent,World view with many records,Enable 'Filter to map extent' and pan to Andes,Gallery updates to only visible extent records
QA-020,Country + Trait combo,"Madagascar records with white, night-blooming exist",Country: Madagascar; flower_color: white; pollinator: hawkmoth,Only records matching all three appear
