35 lines
940 B
Python
35 lines
940 B
Python
|
import discord
|
||
|
import discord.ext.commands as commands
|
||
|
import pytest
|
||
|
import pytest_asyncio
|
||
|
import discord.ext.test as dpytest
|
||
|
|
||
|
from owner_cog import OwnerCog
|
||
|
|
||
|
# Primarily borrowing from https://dpytest.readthedocs.io/en/latest/tutorials/using_pytest.html
|
||
|
# TODO: Test more somehow, though it seems like dpytest is pretty incomplete
|
||
|
|
||
|
|
||
|
@pytest_asyncio.fixture
|
||
|
async def bot():
|
||
|
# Setup
|
||
|
intents = discord.Intents.default()
|
||
|
intents.members = True
|
||
|
intents.message_content = True
|
||
|
b = commands.Bot(command_prefix="$",
|
||
|
intents=intents)
|
||
|
await b._async_setup_hook()
|
||
|
await b.add_cog(OwnerCog(b))
|
||
|
dpytest.configure(b)
|
||
|
yield b
|
||
|
await dpytest.empty_queue()
|
||
|
|
||
|
|
||
|
@pytest.mark.asyncio
|
||
|
async def test_must_be_owner(bot):
|
||
|
with pytest.raises(commands.errors.NotOwner):
|
||
|
await dpytest.message("$sync")
|
||
|
|
||
|
with pytest.raises(commands.errors.NotOwner):
|
||
|
await dpytest.message("$close")
|