Add Anvil E2E play-feel coverage for #331 visual features #340
Labels
No labels
agent:fix_bugfix
agent:fix_conflicts
agent:fix_security
agent:gap_analysis
agent:implement
agent:open_issues
agents
agent:security_audit
agent:verify
area
timecurve
arena
arena-v2
audit
block:feature_review
block:security
bug
contracts
design
devops
docs
documentation
enhancement
epic
feature
frontend
indexer
low priority
megaeth
operations
ops
performance
QA
qa checklist
referrals
removal
security
smart-contracts
tech-debt
testing
time-arena
timecurve
visual-qa
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
code/yieldomega#340
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Parent
Gap analysis follow-up from #331.
Current codebase
frontend/e2e/anvil-arena-01-mount.spec.tsthrough04-cred-buy,arena.spec.ts(mount + intentional absence of live activity on/).e2e-anvil.ymlisworkflow_dispatchonly — not merge gate; still valuable for MR verification.--workers=5).Why needed
End-to-end verification of approved #331 UX on Anvil stack: level-lock policy, confetti level-up, buy toasts, while-you-were-away modal, profile level history — with real indexer + mock/Rabby wallet writes where applicable.
Constraints / guardrails
--code-size-limit 524288perdocs/testing/e2e-anvil.md.YIELDOMEGA_E2E_INDEXER=1when stack provides indexer on:3100./(rejected in parent review).docs/testing/rabby-cloud-agent-qa.mdwhen mock wallet insufficient.Relevant files
frontend/e2e/anvil-arena-03-wallet-writes.spec.tsfrontend/e2e/anvil-arena-01-mount.spec.tsfrontend/e2e/arena.spec.tsscripts/e2e-anvil.shdocs/testing/e2e-anvil.mddocs/testing/frontend-content-audit.mdRecommended direction
anvil-arena-03-wallet-writes.spec.ts: post-buy toasts visible; optional level-up popover with seeded XP.data-locked-level="2"only on play).localStoragelastClosedAt, reload after indexer activity → modal.arena.spec.tsonly where intentional absence assertions remain valid.frontend-content-audit.md#331 section.Acceptance criteria
data-testidselectors.cd frontend && CI=1 npm run test:e2e -- --workers=5 e2e/anvil-arena-*.spec.tspasses against local Anvil stack.docs/testing/frontend-content-audit.md.Test plan
bash scripts/e2e-anvil.shcd frontend && CI=1 npm run test:e2e -- --workers=5 e2e/anvil-arena-03-wallet-writes.spec.tscd frontend && CI=1 npm run test:e2e -- --workers=5 e2e/arena.spec.tsOptional Rabby:
bash scripts/verify-rabby-chain-mismatch.shunrelated — only if level-up requires real signing beyond mock.Attack / abuse test plan
Verification criteria
--workers=5.Dependencies
Do not start until all #331 VISUAL child issues are closed.
mentioned in issue #331
mentioned in issue #339
mentioned in merge request !515
mentioned in commit
8f69524756Verification — #340 Anvil E2E play-feel coverage for #331 visual features
Verified on Cloud Agent VM (2026-06-19). All #331 visual child issues (#334–#338, #339) are closed.
Child issue → spec → result
e2e/anvil-arena-05-play-feel.spec.tse2e/anvil-arena-05-play-feel.spec.tse2e/anvil-arena-05-play-feel.spec.ts(indexer-first block)e2e/anvil-arena-03-wallet-writes.spec.tse2e/anvil-arena-05-play-feel.spec.tse2e/anvil-arena-05-play-feel.spec.tsAcceptance criteria
data-testide2e/anvil-arena-05-play-feel.spec.ts,e2e/anvil-arena-03-wallet-writes.spec.tsunset CI && YIELDOMEGA_DEPLOY_NO_COOLDOWN=1 YIELDOMEGA_E2E_INDEXER=1 PLAYWRIGHT_SPECS="e2e/anvil-arena-03-wallet-writes.spec.ts e2e/anvil-arena-05-play-feel.spec.ts" bash scripts/e2e-anvil.shtest.skipwhenANVIL_E2E_INDEXER !== "1"; first-visit assertiondocs/testing/frontend-content-audit.mdINV-FRONTEND-340-PLAY-FEEL-E2E,docs/testing/e2e-anvil.md§340anvil-arena-*.spec.tsglob (includes #04 cred-buy)YIELDOMEGA_E2E_INDEXER=1 bash scripts/e2e-anvil.shanvil-arena-04-cred-buy.spec.tsbuy CTA stays disabled after prior wallet-write buys exhaust mock-wallet buy energy (serial suite ordering; out of #340 scope)e2e/arena.spec.tsregressioncd frontend && CI=1 npm run test:e2e -- --workers=5 e2e/arena.spec.tsYield Omegaexact-text assertion flaky on UI smoke build; unrelated to #340 Anvil play-feel--workers=5on Anvil E2Efrontend/playwright.config.tsforcesworkers: 1whenANVIL_E2E=1(#87)How verified
:5433—bash scripts/verify-cloud-postgres.shPASSscripts/e2e-anvil.shwithYIELDOMEGA_E2E_INDEXER=1,YIELDOMEGA_DEPLOY_NO_COOLDOWN=1, Anvil--code-size-limit 524288vite preview:4173+ mock wallet (VITE_E2E_MOCK_WALLET=1)Follow-ups (optional)
anvil-arena-04-cred-buy.spec.tsagainst buy-energy exhaustion when run afteranvil-arena-03in the full serial suite (e.g. strongerwarpAnvilPastBuyCooldownor isolate cred-buy file order).CI=1, which blocks PlaywrightreuseExistingServerwhen re-runningnpm run test:e2eagainst an existinge2e-anvil.shpreview — useunset CIor rely onscripts/e2e-anvil.shend-to-end.Verdict: #340 deliverables PASS. Closing as verified.
mentioned in issue #350