コード例 #1
0
def test_save_guild_not_exists(kudos: ChatKudos) -> None:
    """Save changes to a guild that does't exist"""
    kudos.save_guild("999", max=-1, gain_message="TEST")
    kudos.save_guild("999", loss_message="TEST02")

    assert kudos.get_guild("999").max == -1
    assert kudos.get_guild("999").gain_message == "TEST"
    assert kudos.get_guild("999").loss_message == "TEST02"
コード例 #2
0
def test_save_guild_exists(kudos: ChatKudos) -> None:
    """Save explict changes, confirm existing don't change"""
    kudos.save_guild("111", max=-1, gain_message="TEST")
    kudos.save_guild("111", loss_message="TEST02")

    assert kudos.get_guild("111").max == -1
    assert kudos.get_guild("111").gain_message == "TEST"
    assert kudos.get_guild("111").loss_message == "TEST02"
コード例 #3
0
def test_is_command_allowed(kudos: ChatKudos, message: Mock) -> None:
    """Case checks for accessing commands"""
    kudos.save_guild("111", lock=True)
    # Server Owner
    message.content = "kudos!help"
    message.author.id = "333"
    assert kudos.is_command_allowed(message)

    # On User List
    message.author.id = "111"
    kudos.save_guild("111", users=["111"])
    assert kudos.is_command_allowed(message)

    # Not on User List
    message.author.id = "999"
    assert not kudos.is_command_allowed(message)
コード例 #4
0
def test_find_kudos(kudos: ChatKudos, message: Mock) -> None:
    """Return the accurate Kudos count for messages"""
    message.content = "<#!111> ++-++-++ <!222#> just kidding"
    message.mentions = [
        Mock(id="111", display_name="Tester01"),
        Mock(id="222", display_name="Tester02"),
    ]

    result = kudos.find_kudos(message)
    assert len(result) == 1
    assert result[0].display_name == "Tester01"
    assert result[0].amount == 4
    assert result[0].current == -38

    kudos.save_guild("111", max=1)
    result = kudos.find_kudos(message)
    assert result[0].amount == 1
コード例 #5
0
def test_is_kudos_allowed(kudos: ChatKudos, message: Mock) -> None:
    """Case checks for accessing Kudos, only new test is role list"""

    # On Role List
    Roles = namedtuple("Roles", ["id"])
    message.author.roles = [Roles(112), Roles(113), Roles(114)]
    message.content = "@Tester1 +++"
    kudos.save_guild("111", users=[], roles=["114"])
    assert kudos.is_kudos_allowed(message)

    # Not allowed on lock
    kudos.save_guild("111", roles=[])
    assert not kudos.is_kudos_allowed(message)

    # Unlock and pass
    kudos.save_guild("111", lock=False)
    assert kudos.is_kudos_allowed(message)