feat(sveta): Add tests verifying username remains clickable with decorative title badge on leaderboard
DevPlace CI / test (pull_request) Failing after 1h6m27s
DevPlace CI / test (pull_request) Failing after 1h6m27s
This commit is contained in:
@@ -755,7 +755,28 @@ def test_leaderboard_entry_exposes_score_and_prestige(local_db):
|
||||
farm = store.get_farm(user["uid"])
|
||||
assert entry["prestige"] == 3
|
||||
assert entry["score"] == economy.farm_score(farm)
|
||||
assert {"rank", "username", "level", "xp", "coins", "total_harvests", "prestige", "score"} <= set(entry)
|
||||
assert {"rank", "username", "level", "xp", "coins", "total_harvests", "prestige", "score", "title"} <= set(entry)
|
||||
|
||||
|
||||
def test_leaderboard_entry_title_empty_when_no_title_equipped(local_db):
|
||||
user = _reset("unit_lb_no_title")
|
||||
_set(user, prestige=1)
|
||||
entry = next(e for e in store.leaderboard(50) if e["username"] == "unit_lb_no_title")
|
||||
assert "title" in entry
|
||||
assert entry["title"] == ""
|
||||
|
||||
|
||||
def test_leaderboard_entry_title_is_display_name_when_equipped(local_db):
|
||||
user = _reset("unit_lb_title_user", coins=300_000)
|
||||
_set(user, prestige=1)
|
||||
from devplacepy.services.game.store.cosmetics import equip_title
|
||||
store.buy_cosmetic(user, "title_refactorer")
|
||||
equip_title(user, "title_refactorer")
|
||||
_clear_game_caches()
|
||||
entry = next(e for e in store.leaderboard(50) if e["username"] == "unit_lb_title_user")
|
||||
assert entry["title"] == "Serial Refactorer"
|
||||
assert entry["username"] == "unit_lb_title_user"
|
||||
assert entry["title"] != entry["username"]
|
||||
|
||||
|
||||
# --- market saturation ---------------------------------------------------------
|
||||
@@ -1177,3 +1198,6 @@ def test_claim_grant_partial_treasury(local_db):
|
||||
result = store.claim_grant(user)
|
||||
assert result["amount"] == 300
|
||||
assert store.treasury_balance() == 0
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user