32 lines
1.0 KiB
Python
32 lines
1.0 KiB
Python
from favorite_stickers.naming import pack_name, pack_title
|
|
|
|
|
|
def test_first_pack_uses_stable_bot_owned_name() -> None:
|
|
assert pack_name("FavoriteKeeperBot", 123456, 1) == (
|
|
"favorites_123456_by_favoritekeeperbot"
|
|
)
|
|
assert pack_title("FavoriteKeeperBot", 123456, 1) == (
|
|
"FavoriteKeeperBot - Favorites 123456"
|
|
)
|
|
|
|
|
|
def test_next_pack_has_number_suffix() -> None:
|
|
assert pack_name("FavoriteKeeperBot", 123456, 2) == (
|
|
"favorites_123456_2_by_favoritekeeperbot"
|
|
)
|
|
assert pack_title("FavoriteKeeperBot", 123456, 2) == (
|
|
"FavoriteKeeperBot - Favorites 123456 [2]"
|
|
)
|
|
|
|
|
|
def test_names_respect_telegram_length_limit() -> None:
|
|
username = "a" * 32
|
|
assert len(pack_name(username, 9_223_372_036_854_775_807, 9999)) <= 64
|
|
assert len(pack_title(username, 9_223_372_036_854_775_807, 9999)) <= 64
|
|
|
|
|
|
def test_short_name_never_contains_consecutive_underscores() -> None:
|
|
name = pack_name("my__favorite_bot", 123, 2)
|
|
assert "__" not in name
|
|
assert name.endswith("_by_my_favorite_bot")
|