# Tests This directory contains tests for the meta_api_grabber project. ## Running Tests Install test dependencies: ```bash uv sync --extra test ``` Run all tests: ```bash uv run pytest ``` Run specific test file: ```bash uv run pytest tests/test_field_schema_validation.py -v ``` Run with coverage: ```bash uv run pytest --cov=meta_api_grabber ``` ## Test Files ### `test_field_schema_validation.py` Validates that all fields requested by the grab_* methods in `scheduled_grabber.py` exist in the database schema. This ensures: - Field compatibility between Meta API and database - Early detection of schema mismatches - Consistency across all insight levels (account, campaign, adset, country) **Why this test is important:** When new fields are added to the Meta API field lists, this test quickly alerts you if the corresponding database columns need to be added. ## Writing Tests Use markers to categorize tests: ```python @pytest.mark.unit def test_something(): pass @pytest.mark.integration async def test_database_connection(): pass ``` Run only unit tests: ```bash uv run pytest -m unit ``` Run everything except integration tests: ```bash uv run pytest -m "not integration" ```