from unittest import mock import pytest from app.adapters.briteverify.bulk_client import BriteVerifyBulkClient from app.adapters.db import Database from app.adapters.db.emails.repository import EmailsRepository from app.handler import BriteVerifyEmailCheckerHandler @pytest.fixture(scope="function") def repository_mock() -> mock.MagicMock: return mock.MagicMock(spec=EmailsRepository) @pytest.fixture(scope="function") def briteverify_client_mock() -> mock.MagicMock: return mock.MagicMock(spec=BriteVerifyBulkClient) @pytest.fixture(scope="function") def db_mock() -> mock.MagicMock: db = mock.MagicMock(spec=Database) db.session_factory.return_value = mock.MagicMock() return db @pytest.fixture(scope="function") def handler( repository_mock: mock.MagicMock, briteverify_client_mock: mock.MagicMock, db_mock: mock.MagicMock, ) -> BriteVerifyEmailCheckerHandler: return BriteVerifyEmailCheckerHandler( repository=repository_mock, briteverify_client=briteverify_client_mock, db=db_mock, verify_list_limit=10, reserved_tokens_count=0, env="test", chunk_size=10, validation_start_date="2026-04-01", )