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)"
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)"