mirror of
https://github.com/Cog-Creators/Red-DiscordBot.git
synced 2025-11-06 03:08:55 -05:00
* Fix existing tests permanently modifying attributes * Add dataconverter tests file * Fix past nicks spec converter * Update gitignore for dataconverter data files * Add data file for dataconverter test * Simplify fix
76 lines
2.1 KiB
Python
76 lines
2.1 KiB
Python
import pytest
|
|
|
|
from redbot.cogs.alias import Alias
|
|
from redbot.core import Config
|
|
|
|
|
|
@pytest.fixture()
|
|
def alias(config, monkeypatch):
|
|
with monkeypatch.context() as m:
|
|
m.setattr(Config, "get_conf", lambda *args, **kwargs: config)
|
|
return Alias(None)
|
|
|
|
|
|
def test_is_valid_alias_name(alias):
|
|
assert alias.is_valid_alias_name("valid") is True
|
|
assert alias.is_valid_alias_name("not valid name") is False
|
|
|
|
|
|
@pytest.mark.asyncio
|
|
async def test_empty_guild_aliases(alias, empty_guild):
|
|
assert list(await alias.unloaded_aliases(empty_guild)) == []
|
|
|
|
|
|
@pytest.mark.asyncio
|
|
async def test_empty_global_aliases(alias):
|
|
assert list(await alias.unloaded_global_aliases()) == []
|
|
|
|
|
|
async def create_test_guild_alias(alias, ctx):
|
|
await alias.add_alias(ctx, "test", "ping", global_=False)
|
|
|
|
|
|
async def create_test_global_alias(alias, ctx):
|
|
await alias.add_alias(ctx, "test", "ping", global_=True)
|
|
|
|
|
|
@pytest.mark.asyncio
|
|
async def test_add_guild_alias(alias, ctx):
|
|
await create_test_guild_alias(alias, ctx)
|
|
|
|
is_alias, alias_obj = await alias.is_alias(ctx.guild, "test")
|
|
assert is_alias is True
|
|
assert alias_obj.global_ is False
|
|
|
|
|
|
@pytest.mark.asyncio
|
|
async def test_delete_guild_alias(alias, ctx):
|
|
await create_test_guild_alias(alias, ctx)
|
|
is_alias, _ = await alias.is_alias(ctx.guild, "test")
|
|
assert is_alias is True
|
|
|
|
await alias.delete_alias(ctx, "test")
|
|
|
|
is_alias, _ = await alias.is_alias(ctx.guild, "test")
|
|
assert is_alias is False
|
|
|
|
|
|
@pytest.mark.asyncio
|
|
async def test_add_global_alias(alias, ctx):
|
|
await create_test_global_alias(alias, ctx)
|
|
is_alias, alias_obj = await alias.is_alias(ctx.guild, "test")
|
|
|
|
assert is_alias is True
|
|
assert alias_obj.global_ is True
|
|
|
|
|
|
@pytest.mark.asyncio
|
|
async def test_delete_global_alias(alias, ctx):
|
|
await create_test_global_alias(alias, ctx)
|
|
is_alias, alias_obj = await alias.is_alias(ctx.guild, "test")
|
|
assert is_alias is True
|
|
assert alias_obj.global_ is True
|
|
|
|
did_delete = await alias.delete_alias(ctx, alias_name="test", global_=True)
|
|
assert did_delete is True
|