import pytest from src.huesoporro.models import ChatbotSettings, User from src.huesoporro.svc.is_mod import IsModSvc async def test_is_mod_svc_returns_true_for_channel(is_mod_svc: IsModSvc, user: User): is_mod = await is_mod_svc.run(user=user, username="TestUser", channel="TestUser") assert is_mod async def test_is_mod_svc_returns_true_for_user_in_modlist( is_mod_svc: IsModSvc, user: User, chatbot_settings: ChatbotSettings, ): is_mod = await is_mod_svc.run( user=user, username=chatbot_settings.mods[1], channel=user.user ) assert is_mod async def test_is_mod_svc_returns_false_for_settingless_user( is_mod_svc: IsModSvc, user: User ): is_mod = await is_mod_svc.run(user=user, username="TestUser", channel="TestUser2") assert not is_mod @pytest.mark.usefixtures("chatbot_settings") async def test_is_mod_svc_returns_false_for_user_not_in_modlist( is_mod_svc: IsModSvc, user: User ): is_mod = await is_mod_svc.run(user=user, username="TestUser2", channel=user.user) assert not is_mod