forked from retoor/devplacepy
Quiiz system
This commit is contained in:
+27
-15
@@ -75,8 +75,18 @@ def open_game(page):
|
||||
page.wait_for_timeout(800)
|
||||
|
||||
|
||||
def hud_number(value):
|
||||
from devplacepy.templating import format_number
|
||||
|
||||
return format_number(value)
|
||||
|
||||
|
||||
def coins(page):
|
||||
return int(page.locator("[data-hud-coins]").inner_text())
|
||||
node = page.locator("[data-hud-coins]")
|
||||
exact = node.get_attribute("title")
|
||||
if exact:
|
||||
return int(exact.replace(",", ""))
|
||||
return int(node.inner_text().replace(",", ""))
|
||||
|
||||
|
||||
def test_game_page_loads(alice):
|
||||
@@ -84,7 +94,7 @@ def test_game_page_loads(alice):
|
||||
reset_farm("alice_test")
|
||||
open_game(page)
|
||||
assert page.locator(".game-header h1").is_visible()
|
||||
expect(page.locator("[data-hud-coins]")).to_have_text("100000")
|
||||
expect(page.locator("[data-hud-coins]")).to_have_text(hud_number(100000))
|
||||
expect(page.locator("[data-game-grid] [data-slot]")).to_have_count(4)
|
||||
expect(page.locator("[data-perk-host] .perk-card")).to_have_count(4)
|
||||
expect(page.locator(".quest-item")).to_have_count(3)
|
||||
@@ -104,7 +114,7 @@ def test_plant_crop(alice):
|
||||
form.locator("select[name='crop']").select_option("shell")
|
||||
form.locator("button").click()
|
||||
expect(page.locator(".game-plot-growing")).to_have_count(1)
|
||||
expect(page.locator("[data-hud-coins]")).to_have_text("99995")
|
||||
expect(page.locator("[data-hud-coins]")).to_have_text(hud_number(99995))
|
||||
|
||||
|
||||
def test_harvest_crop(alice):
|
||||
@@ -118,7 +128,7 @@ def test_harvest_crop(alice):
|
||||
warp_ready("alice_test")
|
||||
open_game(page)
|
||||
page.locator("form[data-game-action='harvest'] button").first.click()
|
||||
expect(page.locator("[data-hud-coins]")).not_to_have_text("99995")
|
||||
expect(page.locator("[data-hud-coins]")).not_to_have_text(hud_number(99995))
|
||||
assert coins(page) > 99995
|
||||
expect(page.locator(".game-plot-growing")).to_have_count(0)
|
||||
|
||||
@@ -130,11 +140,11 @@ def test_fertilize_spends_coins(alice):
|
||||
form = page.locator("form[data-game-action='plant']").first
|
||||
form.locator("select[name='crop']").select_option("python")
|
||||
form.locator("button").click()
|
||||
expect(page.locator("[data-hud-coins]")).to_have_text("99985")
|
||||
expect(page.locator("[data-hud-coins]")).to_have_text(hud_number(99985))
|
||||
fert = page.locator("form[data-game-action='fertilize'] button").first
|
||||
fert.wait_for(state="visible")
|
||||
fert.click()
|
||||
expect(page.locator("[data-hud-coins]")).not_to_have_text("99985")
|
||||
expect(page.locator("[data-hud-coins]")).not_to_have_text(hud_number(99985))
|
||||
assert coins(page) < 99985
|
||||
|
||||
|
||||
@@ -144,7 +154,7 @@ def test_buy_plot(alice):
|
||||
open_game(page)
|
||||
page.locator("form[data-game-action='buy-plot'] button").click()
|
||||
expect(page.locator("[data-game-grid] [data-slot]")).to_have_count(5)
|
||||
expect(page.locator("[data-hud-coins]")).to_have_text("99900")
|
||||
expect(page.locator("[data-hud-coins]")).to_have_text(hud_number(99900))
|
||||
|
||||
|
||||
def test_upgrade_ci(alice):
|
||||
@@ -153,7 +163,7 @@ def test_upgrade_ci(alice):
|
||||
open_game(page)
|
||||
page.locator("form[data-game-action='upgrade'] button").click()
|
||||
expect(page.locator("[data-hud-ci]")).to_have_text("2")
|
||||
expect(page.locator("[data-hud-coins]")).to_have_text("99850")
|
||||
expect(page.locator("[data-hud-coins]")).to_have_text(hud_number(99850))
|
||||
|
||||
|
||||
def test_claim_daily(alice):
|
||||
@@ -161,7 +171,7 @@ def test_claim_daily(alice):
|
||||
reset_farm("alice_test")
|
||||
open_game(page)
|
||||
page.locator("form[data-game-action='daily'] button").click()
|
||||
expect(page.locator("[data-hud-coins]")).to_have_text("100020")
|
||||
expect(page.locator("[data-hud-coins]")).to_have_text(hud_number(100020))
|
||||
expect(page.locator("[data-daily-host] .daily-claimed")).to_be_visible()
|
||||
|
||||
|
||||
@@ -173,7 +183,7 @@ def test_upgrade_perk(alice):
|
||||
"form[data-game-action='perk']:has(input[value='growth']) button"
|
||||
)
|
||||
growth.click()
|
||||
expect(page.locator("[data-hud-coins]")).to_have_text("99850")
|
||||
expect(page.locator("[data-hud-coins]")).to_have_text(hud_number(99850))
|
||||
expect(
|
||||
page.locator(".perk-card:has-text('Build Cache') .perk-level")
|
||||
).to_have_text("Lv 1/10")
|
||||
@@ -217,7 +227,7 @@ def test_claim_quest(alice):
|
||||
)
|
||||
open_game(page)
|
||||
page.locator("form[data-game-action='claim-quest'] button").first.click()
|
||||
expect(page.locator("[data-hud-coins]")).not_to_have_text("100000")
|
||||
expect(page.locator("[data-hud-coins]")).not_to_have_text(hud_number(100000))
|
||||
assert coins(page) > 100000
|
||||
|
||||
|
||||
@@ -246,7 +256,7 @@ def test_prestige_resets_farm(alice):
|
||||
confirm_btn.click()
|
||||
expect(page.locator("[data-hud-prestige]")).to_have_text("1")
|
||||
expect(page.locator("[data-hud-coins]")).to_have_text(
|
||||
str(economy.STARTING_COINS + carried)
|
||||
hud_number(economy.STARTING_COINS + carried)
|
||||
)
|
||||
assert page.locator("form[data-game-action='prestige']").count() == 0
|
||||
|
||||
@@ -283,7 +293,7 @@ def test_grant_section_claim(alice):
|
||||
claim.wait_for(state="visible")
|
||||
claim.click()
|
||||
expect(page.locator("[data-hud-coins]")).to_have_text(
|
||||
str(100 + economy.GRANT_CAP)
|
||||
hud_number(100 + economy.GRANT_CAP)
|
||||
)
|
||||
assert page.locator("form[data-game-action='grant']").count() == 0
|
||||
|
||||
@@ -324,7 +334,9 @@ def test_infrastructure_buy_succeeds_when_eligible(alice):
|
||||
confirm_btn.wait_for(state="visible")
|
||||
confirm_btn.click()
|
||||
expect(page.locator("form[data-game-action='infrastructure']")).to_have_count(0)
|
||||
assert coins(page) == 100_000_000 - 25_000_000
|
||||
from devplacepy.services.game import economy
|
||||
|
||||
assert coins(page) == 100_000_000 - economy.infra_for("registry").cost
|
||||
|
||||
|
||||
def test_defense_upgrade_spends_coins(alice):
|
||||
@@ -334,7 +346,7 @@ def test_defense_upgrade_spends_coins(alice):
|
||||
upgrade = page.locator("form[data-game-action='defense'] button").first
|
||||
upgrade.wait_for(state="visible")
|
||||
upgrade.click()
|
||||
expect(page.locator("[data-hud-coins]")).to_have_text("95000")
|
||||
expect(page.locator("[data-hud-coins]")).to_have_text(hud_number(95000))
|
||||
|
||||
|
||||
def test_cosmetics_buy_and_equip_flow(alice):
|
||||
|
||||
Reference in New Issue
Block a user