Why a person: unit tests play full challenges (rules, level menu, seven battles, save and quit, cancelling, losing and the reward). These checks cover the receptionists' scenes, the menus, the walk to the room and the battles in the browser.
Setup (on a machine with the user's Crystal 1.1 ROM)
Run MAKE_TEST_SAVES=1 npx vitest run tests/playthrough.test.ts.
Run npm run dev, load the ROM, then Savegames → Import native backup → test-saves/olivine-city.crystal-save.json, then Play.
Before the Hall of Fame only L:10 to L:40 rooms exist, and TYPHLOSION (level 43) is above them: deposit it and the EGG at Olivine's Pokémon Center PC, keeping three of KRABBY, ONIX and BELLSPROUT (they will probably lose; that is fine for these checks). The backups must stay local.
Steps and expected results
Route 40's gate leads to the Battle Tower's grounds; the people outside and the sign talk.
Battle Tower 1F: read the rules sign. Talk to the receptionist: the first time she offers the explanation, then the Challenge / Explanation / Cancel menu.
With four Pokémon, two of the same kind, two holding the same item or an EGG, Challenge lists every broken rule after "Excuse me."
With a valid party, Challenge saves the game (overwrite question, then the saving texts) and shows the level menu (L:10-L:40, CANCEL). A level below a party Pokémon's says it tops the level; CANCEL asks whether to cancel.
Pick a level: walk to the elevator, ride it, and walk down the hallway to a room. A trainer appears (each with its own sprite), greets you and battles. PACK only says items can't be used; no experience is given.
After a win: the party is healed, and "Next up, opponent no.2" asks to go on. Answer NO, then save and end: you are back at the counter and the receptionist resumes the challenge. Answer NO twice and cancel instead: back to 1F.
Lose a battle: no whiteout; you are back at 1F with "Thanks for visiting!" and a healed party.
Repeat the menus with the on-screen controls on a phone or tablet. Record device and browser.
Known boundaries: no sound; the level menu is shown as a list rather than the original's single cycling entry; save and quit returns to where you saved without rolling back money from Pay Day. Do not report those as regressions.
Report: tick the checks completed, give the browser/device and commit tested, and describe any failure with the last action and expected/actual behavior. Leave this card in A tester until a person has performed the checks.
Implementation: #32 (fe2b026).
Why a person: unit tests play full challenges (rules, level menu, seven battles, save and quit, cancelling, losing and the reward). These checks cover the receptionists' scenes, the menus, the walk to the room and the battles in the browser.
**Setup** (on a machine with the user's Crystal 1.1 ROM)
1. Run `MAKE_TEST_SAVES=1 npx vitest run tests/playthrough.test.ts`.
2. Run `npm run dev`, load the ROM, then Savegames → Import native backup → `test-saves/olivine-city.crystal-save.json`, then Play.
3. Before the Hall of Fame only L:10 to L:40 rooms exist, and TYPHLOSION (level 43) is above them: deposit it and the EGG at Olivine's Pokémon Center PC, keeping three of KRABBY, ONIX and BELLSPROUT (they will probably lose; that is fine for these checks). The backups must stay local.
**Steps and expected results**
- [ ] Route 40's gate leads to the Battle Tower's grounds; the people outside and the sign talk.
- [ ] Battle Tower 1F: read the rules sign. Talk to the receptionist: the first time she offers the explanation, then the Challenge / Explanation / Cancel menu.
- [ ] With four Pokémon, two of the same kind, two holding the same item or an EGG, Challenge lists every broken rule after "Excuse me."
- [ ] With a valid party, Challenge saves the game (overwrite question, then the saving texts) and shows the level menu (L:10-L:40, CANCEL). A level below a party Pokémon's says it tops the level; CANCEL asks whether to cancel.
- [ ] Pick a level: walk to the elevator, ride it, and walk down the hallway to a room. A trainer appears (each with its own sprite), greets you and battles. PACK only says items can't be used; no experience is given.
- [ ] After a win: the party is healed, and "Next up, opponent no.2" asks to go on. Answer NO, then save and end: you are back at the counter and the receptionist resumes the challenge. Answer NO twice and cancel instead: back to 1F.
- [ ] Lose a battle: no whiteout; you are back at 1F with "Thanks for visiting!" and a healed party.
- [ ] Repeat the menus with the on-screen controls on a phone or tablet. Record device and browser.
Known boundaries: no sound; the level menu is shown as a list rather than the original's single cycling entry; save and quit returns to where you saved without rolling back money from Pay Day. Do not report those as regressions.
**Report**: tick the checks completed, give the browser/device and commit tested, and describe any failure with the last action and expected/actual behavior. Leave this card in A tester until a person has performed the checks.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Implementation: #32 (
fe2b026).Why a person: unit tests play full challenges (rules, level menu, seven battles, save and quit, cancelling, losing and the reward). These checks cover the receptionists' scenes, the menus, the walk to the room and the battles in the browser.
Setup (on a machine with the user's Crystal 1.1 ROM)
MAKE_TEST_SAVES=1 npx vitest run tests/playthrough.test.ts.npm run dev, load the ROM, then Savegames → Import native backup →test-saves/olivine-city.crystal-save.json, then Play.Steps and expected results
Known boundaries: no sound; the level menu is shown as a list rather than the original's single cycling entry; save and quit returns to where you saved without rolling back money from Pay Day. Do not report those as regressions.
Report: tick the checks completed, give the browser/device and commit tested, and describe any failure with the last action and expected/actual behavior. Leave this card in A tester until a person has performed the checks.