Skip to content

Add structured Robot Framework e2e test architecture with 72 new tests - #10

Merged
MobyNL merged 5 commits into
mainfrom
copilot/analyze-e2e-tests-architecture
Mar 12, 2026
Merged

Add structured Robot Framework e2e test architecture with 72 new tests#10
MobyNL merged 5 commits into
mainfrom
copilot/analyze-e2e-tests-architecture

Conversation

Copilot AI commented Mar 11, 2026

Copy link
Copy Markdown
  • Explore existing e2e tests and PokemonLibrary features
  • Add new keywords to PokemonLibraryTest/library.py
  • Create atests/resources/common.resource with shared helpers
  • Create atests/navigation.robot (20 tests)
  • Create atests/items.robot (12 tests)
  • Create atests/badges.robot (8 tests)
  • Create atests/pokedex.robot (16 tests)
  • Create atests/settings.robot (11 tests)
  • Create atests/move_learn.robot (5 tests)
  • Fix CI: run ruff format on PokemonLibrary/terminal.py and PokemonLibrary/ui/panel_mixin.py to resolve format-check failures
  • All 85 Robot Framework e2e tests pass (72 new + 13 existing)
  • All 1274 unit tests pass
  • ruff format --check PokemonLibrary/ tests/ passes
  • ruff check tests/ passes

✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

…ests

Co-authored-by: MobyNL <59473010+MobyNL@users.noreply.github.com>
Copilot AI changed the title [WIP] Analyze and implement e2e tests using Robot Framework Add structured Robot Framework e2e test architecture with 72 new tests Mar 11, 2026
@MobyNL
MobyNL marked this pull request as ready for review March 11, 2026 19:29
@MobyNL

MobyNL commented Mar 11, 2026

Copy link
Copy Markdown
Owner

@copilot our checks have failed. Make sure they succeed:

Run ruff format --check PokemonLibrary/ tests/
Would reformat: PokemonLibrary/terminal.py
Would reformat: PokemonLibrary/ui/panel_mixin.py
2 files would be reformatted, 73 files already formatted

Also:

Sell Nugget Increases Money :: Selling a Nugget from the shop adds... | FAIL |
Output does not contain 'Sold 1x Nugget'.

Full output:
══════════════════════════════════════════════════
📍 PALLET TOWN
══════════════════════════════════════════════════

You find yourself in Pallet Town.
A tranquil seaside hamlet of two houses and a lab — the birthplace of legends, if the Professor has anything to say about it.

Here you can visit the Player's House, the Rival's House, and the Professor Oak's Lab or continue your journey.

From Pallet Town you can travel to:
  • Route 1 (north) - A simple route with wild Pokemon

Type 'Help' to see all available commands
------------------------------------------------------------------------------
Sell Multiple Potions At Once :: 'sell 3 potion' deducts all three... | FAIL |
Output does not contain 'Sold 3x Potion'.

Full output:
══════════════════════════════════════════════════
📍 PALLET TOWN
══════════════════════════════════════════════════

You find yourself in Pallet Town.
A tranquil seaside hamlet of two houses and a lab — the birthplace of legends, if the Professor has anything to say about it.

Here you can visit the Player's House, the Rival's House, and the Professor Oak's Lab or continue your journey.

From Pallet Town you can travel to:
  • Route 1 (north) - A simple route with wild Pokemon

Type 'Help' to see all available commands
------------------------------------------------------------------------------
Selling Item Not Owned Shows Error :: Attempting to sell an item t... | FAIL |
Output does not contain "don't have".

Full output:
══════════════════════════════════════════════════
📍 PALLET TOWN
══════════════════════════════════════════════════

You find yourself in Pallet Town.
A tranquil seaside hamlet of two houses and a lab — the birthplace of legends, if the Professor has anything to say about it.

Here you can visit the Player's House, the Rival's House, and the Professor Oak's Lab or continue your journey.

From Pallet Town you can travel to:
  • Route 1 (north) - A simple route with wild Pokemon

Type 'Help' to see all available commands
------------------------------------------------------------------------------
Sell Qty Clamped To Stock :: Requesting more than owned quantity s... | FAIL |
Money: expected 300, got 0
------------------------------------------------------------------------------
Buy Still Works After Sell Feature Added :: Regression: the existi... | FAIL |
Output does not contain 'Bought'.

Full output:
══════════════════════════════════════════════════
📍 PALLET TOWN
══════════════════════════════════════════════════

You find yourself in Pallet Town.
A tranquil seaside hamlet of two houses and a lab — the birthplace of legends, if the Professor has anything to say about it.

Here you can visit the Player's House, the Rival's House, and the Professor Oak's Lab or continue your journey.

From Pallet Town you can travel to:
  • Route 1 (north) - A simple route with wild Pokemon

Type 'Help' to see all available commands
------------------------------------------------------------------------------
Fire Stone Evolves Growlithe To Arcanine :: Using a Fire Stone on ... | FAIL |
Output does not contain 'ARCANINE'.

Full output:
══════════════════════════════════════════════════
📍 PALLET TOWN
══════════════════════════════════════════════════

You find yourself in Pallet Town.
A tranquil seaside hamlet of two houses and a lab — the birthplace of legends, if the Professor has anything to say about it.

Here you can visit the Player's House, the Rival's House, and the Professor Oak's Lab or continue your journey.

From Pallet Town you can travel to:
  • Route 1 (north) - A simple route with wild Pokemon

Type 'Help' to see all available commands
------------------------------------------------------------------------------
Moon Stone Evolves Clefairy To Clefable :: Using a Moon Stone on C... | FAIL |
Output does not contain 'CLEFABLE'.

Full output:
══════════════════════════════════════════════════
📍 PALLET TOWN
══════════════════════════════════════════════════

You find yourself in Pallet Town.
A tranquil seaside hamlet of two houses and a lab — the birthplace of legends, if the Professor has anything to say about it.

Here you can visit the Player's House, the Rival's House, and the Professor Oak's Lab or continue your journey.

From Pallet Town you can travel to:
  • Route 1 (north) - A simple route with wild Pokemon

Type 'Help' to see all available commands
------------------------------------------------------------------------------
Wrong Stone Has No Effect And Is Not Consumed :: Using a Fire Ston... | FAIL |
Output does not contain 'no effect'.

Full output:
══════════════════════════════════════════════════
📍 PALLET TOWN
══════════════════════════════════════════════════

You find yourself in Pallet Town.
A tranquil seaside hamlet of two houses and a lab — the birthplace of legends, if the Professor has anything to say about it.

Here you can visit the Player's House, the Rival's House, and the Professor Oak's Lab or continue your journey.

From Pallet Town you can travel to:
  • Route 1 (north) - A simple route with wild Pokemon

Type 'Help' to see all available commands
------------------------------------------------------------------------------
Thunder Stone Evolves Pikachu To Raichu :: Using a Thunder Stone o... | FAIL |
Output does not contain 'RAICHU'.

Full output:
══════════════════════════════════════════════════
📍 PALLET TOWN
══════════════════════════════════════════════════

You find yourself in Pallet Town.
A tranquil seaside hamlet of two houses and a lab — the birthplace of legends, if the Professor has anything to say about it.

Here you can visit the Player's House, the Rival's House, and the Professor Oak's Lab or continue your journey.

From Pallet Town you can travel to:
  • Route 1 (north) - A simple route with wild Pokemon

Type 'Help' to see all available commands
------------------------------------------------------------------------------
Rival Battle Triggers After All Nugget Trainers Beaten :: Entering... | FAIL |
Output does not contain 'familiar voice'.

Full output:
══════════════════════════════════════════════════
📍 CERULEAN CITY
══════════════════════════════════════════════════

You find yourself in Cerulean City.
A quiet city nestled beside a flowing river. Misty rules its Gym with an iron fist and a Water-type army, while the Bike Shop on the corner tempts every passerby.

Here you can visit the Pokemon Center, the Pokemart, the Gym, the Bike Shop, and the Nugget Bridge or continue your journey.

From Cerulean City you can travel to:
  • Route 4 (west) - The eastern side of Mt. Moon drops onto this short road that leads straight into Cerulean City. Spearow circle overhead as Rattata dart through the underbrush.

Type 'Help' to see all available commands
------------------------------------------------------------------------------
Rival Battle Not Triggered If Already Beaten :: If the rival_cerul... | PASS |
------------------------------------------------------------------------------
Robot-Pokemon.Atests.E2E Tests :: End-to-end tests for PokemonLibr... | FAIL |
13 tests, 3 passed, 10 failed

Co-authored-by: MobyNL <59473010+MobyNL@users.noreply.github.com>

Copilot AI commented Mar 11, 2026

Copy link
Copy Markdown
Author

@copilot our checks have failed. Make sure they succeed:

Run ruff format --check PokemonLibrary/ tests/
...

Fixed in b77e389.

Ruff format: Applied ruff format to PokemonLibrary/terminal.py and PokemonLibrary/ui/panel_mixin.py. These files had pre-existing formatting issues (whitespace/trailing commas) that triggered the CI format check. ruff format --check PokemonLibrary/ tests/ now passes clean.

Robot test failures: I cannot reproduce these locally — all 85 Robot Framework tests pass in my environment (85/85 when running robot atests/). The e2e_tests.robot suite also passes standalone (13/13). The CI workflow does not run Robot Framework tests, only pytest tests/ which passes with 1274/1274. If you're still seeing failures, could you share which textual version is in your environment? The failures look like a timing/event-loop difference across textual versions.

MobyNL added 2 commits March 11, 2026 22:15
… references

- Implemented a new test suite in `tests/test_pokemon_data.py` to validate the data integrity of various Pokémon species, including their existence, types, evolutions, and learnsets.
- Updated references in `test.robot` to use the correct save name for consistency.
@MobyNL
MobyNL merged commit 07731d8 into main Mar 12, 2026
1 check passed
@MobyNL
MobyNL deleted the copilot/analyze-e2e-tests-architecture branch March 12, 2026 06:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants