Example #1
0
    async def test_lobby_embed(self):
        lobby = Lobby(bot(), channel())
        embed = lobby.get_lobby_message()
        assert embed.title == "Lobby (0)"
        assert embed.footer.text == "There are 8 spots remaining!"
        assert embed.colour == Colour.orange()

        await lobby.add(player := member())
        embed = lobby.get_lobby_message()
        assert embed.title == "Lobby (1)"
        assert embed.footer.text == "There are 8 spots remaining!"
        assert embed.colour == Colour.orange()
        assert len(embed.fields) == 1
        assert embed.fields[0].name == "Alternates (1)"
        assert str(player.display_name) in embed.fields[0].value

        embed = lobby.get_lobby_message(mention=True)
        assert str(player.display_name) in embed.fields[0].value

        await lobby.ready(player)
        embed = lobby.get_lobby_message()
        assert embed.title == "Lobby (1)"
        assert embed.footer.text == "There are 7 spots remaining!"
        assert embed.colour == Colour.orange()
        assert len(embed.fields) == 1
        assert embed.fields[0].name == "Players (1)"
        assert str(player.display_name) in embed.fields[0].value

        embed = lobby.get_lobby_message(mention=True)
        assert str(player.mention) in embed.fields[0].value

        for _ in range(7):
            await lobby.ready(member())
        embed = lobby.get_lobby_message()
        assert embed.title == "Lobby (8)"
        assert "Use `?shuffle` or `?ranked`" in embed.footer.text
        assert embed.colour == Colour.green()
        assert len(embed.fields) == 1
        assert embed.fields[0].name == "Players (8)"

        await lobby.unready(player)
        embed = lobby.get_lobby_message()
        assert embed.title == "Lobby (8)"
        assert embed.footer.text == "There's one spot remaining!"
        assert embed.colour == Colour.orange()
        assert len(embed.fields) == 2
        assert embed.fields[0].name == "Players (7)"
        assert embed.fields[1].name == "Alternates (1)"

        await lobby.remove(player)
        embed = lobby.get_lobby_message()
        assert embed.title == "Lobby (7)"
        assert embed.footer.text == "There's one spot remaining!"
        assert embed.colour == Colour.orange()
        assert len(embed.fields) == 1
        assert embed.fields[0].name == "Players (7)"

        for _ in range(100):
            await lobby.add(member())
        embed = lobby.get_lobby_message()
        assert embed.title == "Lobby (107)"
        assert embed.footer.text == "There's one spot remaining!"
        assert embed.colour == Colour.orange()
        assert len(embed.fields) == 2
        assert embed.fields[1].name == "Alternates (100)"

        await lobby.ready(member())
        embed = lobby.get_lobby_message()
        assert embed.title == "Lobby (108)"
        assert "Use `?shuffle` or `?ranked`" in embed.footer.text
        assert embed.colour == Colour.green()
        assert len(embed.fields) == 2
        assert embed.fields[0].name == "Players (8)"
        assert embed.fields[1].name == "Alternates (100)"
Example #2
0
    async def test_lobby_embed(self):
        topic = """
            @name(foo)
            @players(min: 8)
        """
        lobby = Lobby(bot(), channel(topic=topic))
        embed = lobby.get_lobby_message()
        assert embed.author.name == "foo"
        assert embed.footer.text == "More players can join."
        assert embed.colour == Colour.orange()

        await lobby.add(player := member())
        embed = lobby.get_lobby_message()
        assert embed.author.name == "foo"
        assert embed.footer.text == "More players can join."
        assert embed.colour == Colour.orange()
        assert len(embed.fields) == 1
        assert embed.fields[0].name == "Alternates (1)"
        assert embed.fields[0].value.count("\n") == 1
        assert str(player.display_name) in embed.fields[0].value

        embed = lobby.get_lobby_message(mention=True)
        assert str(player.display_name) in embed.fields[0].value

        await lobby.ready(player)
        embed = lobby.get_lobby_message()
        assert embed.author.name == "foo"
        assert embed.footer.text == "More players can join."
        assert embed.colour == Colour.orange()
        assert len(embed.fields) == 1
        assert embed.fields[0].name == "Players (1)"
        assert str(player.display_name) in embed.fields[0].value
        assert embed.fields[0].value.count("\n") == 1

        embed = lobby.get_lobby_message(mention=True)
        assert str(player.mention) in embed.fields[0].value

        for _ in range(7):
            await lobby.ready(member())
        embed = lobby.get_lobby_message()
        assert embed.author.name == "foo"
        assert embed.footer.text == "Game ready. More players can join."
        assert embed.colour == Colour.green()
        assert len(embed.fields) == 1
        assert embed.fields[0].name == "Players (8)"
        assert embed.fields[0].value.count("\n") == 8

        await lobby.unready(player)
        embed = lobby.get_lobby_message()
        assert embed.author.name == "foo"
        assert embed.footer.text == "More players can join."
        assert embed.colour == Colour.orange()
        assert len(embed.fields) == 2
        assert embed.fields[0].name == "Players (7)"
        assert embed.fields[0].value.count("\n") == 7
        assert embed.fields[1].name == "Alternates (1)"
        assert embed.fields[1].value.count("\n") == 1

        await lobby.remove(player)
        embed = lobby.get_lobby_message()
        assert embed.author.name == "foo"
        assert embed.footer.text == "More players can join."
        assert embed.colour == Colour.orange()
        assert len(embed.fields) == 1
        assert embed.fields[0].name == "Players (7)"
        assert embed.fields[0].value.count("\n") == 7

        for _ in range(100):
            await lobby.add(member())
        embed = lobby.get_lobby_message()
        assert embed.author.name == "foo"
        assert embed.footer.text == "More players can join."
        assert embed.colour == Colour.orange()
        assert len(embed.fields) == 2
        assert embed.fields[1].name == "Alternates (100)"
        assert embed.fields[1].value.count("\n") == 100

        await lobby.ready(member())
        embed = lobby.get_lobby_message()
        assert embed.author.name == "foo"
        assert embed.footer.text == "Game ready. More players can join."
        assert embed.colour == Colour.green()
        assert len(embed.fields) == 2
        assert embed.fields[0].name == "Players (8)"
        assert embed.fields[0].value.count("\n") == 8
        assert embed.fields[1].name == "Alternates (100)"
        assert embed.fields[1].value.count("\n") == 100

        lobby.c.vLaunch = "foo.com"
        embed = lobby.get_lobby_message()
        assert embed.fields[0].value.count("\n") == 9

        lobby.c.vMax = 8
        embed = lobby.get_lobby_message()
        assert embed.footer.text == "Game ready. More alternates can join."

        lobby.c.vMax = 9
        embed = lobby.get_lobby_message()
        assert embed.footer.text == "Game ready. More players can join."

        lobby.c.vMax = 8
        lobby.c.vOverflow = False
        embed = lobby.get_lobby_message()
        assert embed.footer.text == "Game ready. "
        assert embed.fields[1].name == "Not Ready (100)"