Red-DiscordBot/tests/cogs/test_mod.py
palmtree5 8eb075fa86 [V3 Core] Embed toggling support (#1467)
* [V3 CogManagerUI] implement text-only support in [p]cogs

* Change page length to 1800 + workaround for pages starting with delim

* [V3 Core] text mode support for [p]contact and [p]dm

* Implement text-only support in modlog and fix everything that broke because of it

* Fix modlog stuff in filter too

* Fix tests

* Implement optional embed support in [p]help

* move to .format
2018-03-28 20:15:51 -04:00

54 lines
1.3 KiB
Python

import pytest
@pytest.fixture
def mod(config):
from redbot.core import Config
Config.get_conf = lambda *args, **kwargs: config
from redbot.core import modlog
modlog._register_defaults()
return modlog
@pytest.mark.asyncio
async def test_modlog_register_casetype(mod, ctx):
ct = {
"name": "ban",
"default_setting": True,
"image": ":hammer:",
"case_str": "Ban",
"audit_type": "ban"
}
casetype = await mod.register_casetype(**ct)
assert casetype is not None
@pytest.mark.asyncio
async def test_modlog_case_create(mod, ctx, member_factory):
from datetime import datetime as dt
usr = member_factory.get()
guild = ctx.guild
bot = ctx.bot
case_type = "ban"
moderator = ctx.author
reason = "Test 12345"
created_at = dt.utcnow()
case = await mod.create_case(
bot, guild, created_at, case_type, usr, moderator, reason
)
assert case is not None
assert case.user == usr
assert case.action_type == case_type
assert case.moderator == moderator
assert case.reason == reason
assert case.created_at == int(created_at.timestamp())
@pytest.mark.asyncio
async def test_modlog_set_modlog_channel(mod, ctx):
await mod.set_modlog_channel(ctx.guild, ctx.channel)
assert await mod.get_modlog_channel(ctx.guild) == ctx.channel.id