Ejemplo n.º 1
0
async def test_on_member_join():
    test_config = dpytest.get_config()
    client = test_config.client
    guild = dpytest.back.make_guild('TestMemberJoin', id_num=1234)
    test_config.guilds.append(guild)
    await dpytest.member_join(1, client.user)
    await asyncio.sleep(0.25)
    welcome_message = intro_db.get_guild_welcome_message(guild.id)
    await dpytest.member_join(1)
    assert dpytest.verify().message().content(welcome_message)
    intro_db.update_guild_welcome_message(
        guild.id, 'This is an updated welcome message.')
    await asyncio.sleep(0.25)
    welcome_message = intro_db.get_guild_welcome_message(guild.id)
    await dpytest.member_join(1)
    assert dpytest.verify().message().content(welcome_message)
Ejemplo n.º 2
0
async def test_update_welcome_message_too_long():
    import random, string
    guild = dpytest.get_config().guilds[0]
    old_message = get_guild_welcome_message(guild.id)
    new_message = "".join(
        random.choice(string.ascii_letters) for _ in range(1800))
    msg_mock = dpytest.back.make_message('y',
                                         dpytest.get_config().members[0],
                                         dpytest.get_config().channels[0])
    with mock.patch('discord.client.Client.wait_for',
                    mock.AsyncMock(return_value=msg_mock)):
        await dpytest.message(koalabot.COMMAND_PREFIX +
                              "update_welcome_message " + new_message)
    assert dpytest.verify().message().content(
        "Your welcome message is too long to send, sorry. The maximum character limit is 1600."
    )
    assert dpytest.verify().message().nothing()
    assert intro_db.fetch_guild_welcome_message(guild.id) != new_message
Ejemplo n.º 3
0
async def test_update_welcome_message_timeout():
    guild = dpytest.get_config().guilds[0]
    old_message = get_guild_welcome_message(guild.id)
    new_message = "this is a non default message"
    # msg_mock = dpytest.back.make_message('y', dpytest.get_config().members[0], dpytest.get_config().channels[0])
    with mock.patch('discord.client.Client.wait_for',
                    mock.AsyncMock(return_value=None)):
        await dpytest.message(koalabot.COMMAND_PREFIX +
                              "update_welcome_message " + new_message)

    assert dpytest.verify().message().content(
        f"""Your current welcome message is:\n\r{old_message}""")
    assert dpytest.verify().message().content(
        f"""Your new welcome message will be:\n\r{new_message}\n\r{BASE_LEGAL_MESSAGE}"""
        + """\n\rWould you like to update the message? Y/N?""")
    assert dpytest.verify().message().content("Timed out.")
    assert dpytest.verify().message().content(
        "Okay, I won't update the welcome message then.")
    assert dpytest.verify().message().nothing()
    assert intro_db.fetch_guild_welcome_message(guild.id) != new_message
Ejemplo n.º 4
0
async def test_get_guild_welcome_message(guild_id, expected):
    val = intro_db.get_guild_welcome_message(guild_id)
    assert val == f"{expected}\r\n{BASE_LEGAL_MESSAGE}", val
Ejemplo n.º 5
0
async def test_view_welcome_message():
    guild = dpytest.get_config().guilds[0]
    old_message = get_guild_welcome_message(guild.id)
    await dpytest.message(koalabot.COMMAND_PREFIX + "welcomeViewMsg ")
    assert dpytest.verify().message().content(
        f"""Your current welcome message is:\n\r{old_message}""")