disagreement/tests/test_converter_registration.py
2025-06-09 22:25:14 -06:00

31 lines
838 B
Python

import pytest
from disagreement.ext.app_commands.handler import AppCommandHandler
from disagreement.ext.app_commands.converters import Converter
class MyType:
def __init__(self, value):
self.value = value
class MyConverter(Converter[MyType]):
async def convert(self, interaction, value):
return MyType(f"converted-{value}")
@pytest.mark.asyncio
async def test_custom_converter_registration(dummy_client):
handler = AppCommandHandler(client=dummy_client)
handler.register_converter(MyType, MyConverter)
assert handler.get_converter(MyType) is MyConverter
result = await handler._resolve_value(
value="example",
expected_type=MyType,
resolved_data=None,
guild_id=None,
)
assert isinstance(result, MyType)
assert result.value == "converted-example"