OneLiteFeatherNET / OneLiteFeatherNET/Voyager
Integration tests: full lobby→game→end lifecycle
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 0
- Forks
- 0
- Avg merge
- 2d 21h
- Merged PRs (30d)
- 12
Description
Description
Currently only unit tests exist (~70-75% coverage on isolated components). There are no integration tests that exercise the complete game lifecycle end-to-end: players joining lobby → preparation countdown → active race → all players finish → end screen → results persisted.
Acceptance Criteria
- At least one integration test covers the full
Lobby → Preparation → Game → Endphase sequence - Test uses Minestom Testing framework (fake server + fake players)
- Verifies: phases transition in order, ring collisions register, scores accumulate,
EndPhasefires, DB write is invoked (mocked) - Test runs in CI (
./gradlew :server:test) without needing a live DB - Coverage report shows integration test path contributes to the overall metrics
- Edge case: single player finishing early while others are still racing
Technical Details
- Integration tests go in
server/src/test/java/ - Use
MinestomTestEnvfrom Minestom Testing - DB interaction should be mocked via Mockito to keep tests self-contained
- Consider a
TestCupFixturehelper that creates a minimal cup/map with 3 rings
Dependencies
- "Wire database service" must be implemented first (so it can be properly mocked)
Estimate
L
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
After the “Wire database service” dependency is complete, start in server/src/test/java/ with MinestomTestEnv and review the existing game phase entry points. Build the test around a minimal TestCupFixture with 3 rings, mock database interaction with Mockito, and run ./gradlew :server:test. Done means the full phase sequence, collisions, scores, EndPhase, mocked DB write, early-finishing player case, and coverage contribution are verified in CI.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- game-dev, testing
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100