from gapido_auth.config import Settings from gapido_auth.infrastructure.kavenegar_client import KavenegarSmsClient from gapido_auth.infrastructure.sms_ir_client import SmsIrSmsClient from gapido_auth.infrastructure.sms_provider import create_sms_client, get_sms_template def test_sms_provider_factory_selects_kavenegar() -> None: settings = Settings( sms_provider="kavenegar", kavenegar_api_key="kavenegar-key", kavenegar_login_template="login-otp", ) assert isinstance(create_sms_client(settings), KavenegarSmsClient) assert get_sms_template(settings) == "login-otp" def test_sms_provider_factory_selects_sms_ir() -> None: settings = Settings( sms_provider="sms_ir", sms_ir_api_key="sms-ir-key", sms_ir_verify_template_id=570574, ) assert isinstance(create_sms_client(settings), SmsIrSmsClient) assert get_sms_template(settings) == "570574"