4 Commits

Author SHA1 Message Date
Z. Cliffe Schreuders
b465592c4f feat: implement GamesController with sync_state, unlock, and inventory actions 2025-11-21 15:27:54 +00:00
Z. Cliffe Schreuders
09e0631b08 refactor: reorganize API routes and remove unused bootstrap endpoint 2025-11-21 15:27:54 +00:00
Z. Cliffe Schreuders
4764f5881e test: Add comprehensive server response tests
- Add HTML response tests for missions index (checks mission cards rendered)
- Add game page tests (checks game container and config injection)
- Add API endpoint tests:
  * scenario endpoint returns JSON scenario data
  * bootstrap endpoint returns complete game state
  * sync_state endpoint updates player position
  * unlock endpoint validates and rejects invalid attempts
  * inventory endpoint adds items to player inventory
- Fix inventory API to use action_type instead of reserved 'action' param

All 23 tests passing with 64 assertions verifying server returns correct data!
2025-11-21 15:27:54 +00:00
Z. Cliffe Schreuders
f6c9ceb5e8 feat: Add controllers and routes
- Add MissionsController for scenario selection
- Add GamesController with scenario/ink endpoints
- Add JIT Ink compilation logic
- Add API::GamesController for game state management
- Configure routes with REST + API endpoints
- Add authorization hooks (Pundit)
- Add polymorphic player support (current_player helper)
2025-11-21 15:27:54 +00:00