import time import pytest from vigilar.storage.queries import ( get_wildlife_stats, get_wildlife_frequency, get_wildlife_sightings_paginated, insert_wildlife_sighting, ) @pytest.fixture def seeded_wildlife(test_db): for i in range(5): insert_wildlife_sighting(test_db, species="deer", threat_level="PASSIVE", camera_id="front", confidence=0.9, event_id=i + 1) for i in range(3): insert_wildlife_sighting(test_db, species="raccoon", threat_level="NUISANCE", camera_id="back", confidence=0.8, event_id=i + 10) insert_wildlife_sighting(test_db, species="bear", threat_level="PREDATOR", camera_id="front", confidence=0.95, event_id=20) return test_db def test_get_wildlife_stats(seeded_wildlife): stats = get_wildlife_stats(seeded_wildlife) assert stats["total"] == 9 assert stats["per_species"]["deer"] == 5 def test_get_wildlife_frequency(seeded_wildlife): freq = get_wildlife_frequency(seeded_wildlife) assert len(freq) == 6 def test_get_wildlife_sightings_paginated(seeded_wildlife): page1 = get_wildlife_sightings_paginated(seeded_wildlife, limit=5, offset=0) assert len(page1) == 5 page2 = get_wildlife_sightings_paginated(seeded_wildlife, limit=5, offset=5) assert len(page2) == 4 def test_get_wildlife_sightings_filter_species(seeded_wildlife): result = get_wildlife_sightings_paginated(seeded_wildlife, species="bear", limit=50, offset=0) assert len(result) == 1 assert result[0]["species"] == "bear"