"""Tests for the database module.""" import os import tempfile import pytest def test_database_operations() -> None: """Test basic database operations.""" # Use a temporary database for testing with tempfile.TemporaryDirectory() as tmpdir: db_path = os.path.join(tmpdir, "test.db") os.environ["DB_PATH"] = db_path # Import after setting env var from src.database import init_db, is_post_seen, mark_post_seen, get_seen_count init_db() # Initially, no posts are seen assert not is_post_seen("123") assert get_seen_count() == 0 # Mark a post as seen mark_post_seen("123") assert is_post_seen("123") assert get_seen_count() == 1 # Mark the same post again (should be idempotent) mark_post_seen("123") assert is_post_seen("123") assert get_seen_count() == 1 # Mark another post mark_post_seen("456") assert is_post_seen("456") assert get_seen_count() == 2 # Original post still seen assert is_post_seen("123")