Skip to content

Add lightweight playback, loading, and configuration tests - #11

Merged
nextinfinity merged 2 commits into
mainfrom
test/lightweight-behavior
Sep 29, 2026
Merged

nextinfinity merged 2 commits into
mainfrom
test/lightweight-behavior

Conversation

@nextinfinity

Copy link
Copy Markdown
Owner

Summary

  • Add JUnit Jupiter and Mockito to Gradle test/check.
  • Test queue/control transitions, end reasons, notification-failure resilience, search fallback, playlist selection, failure cleanup, voice policy, and configuration parsing.
  • Add small seams: injectable loader/activity callback and pure environment parsing separate from YouTube initialization.
  • Add a separate Test CI job gating image build/publication.
  • Document scope and conventions in TESTING.md.

Design

Three focused test classes with parameterized cases, not a broad integration suite. Manually deliver callbacks and assert application decisions; no Discord connection, audio requests, OAuth, or bot startup. Production constructors retain their existing defaults. Parsed settings redact credentials in their string representation.

Validation

  • JDK 25: sh ./gradlew --no-daemon clean check shadowJar passed.
  • 31 test cases across three classes, including parameterized rows.
  • git diff --check passed.
  • Live Discord/YouTube smoke testing remains manual.

@nextinfinity
nextinfinity merged commit c0147cd into main Sep 29, 2026
6 of 7 checks passed
@nextinfinity
nextinfinity deleted the test/lightweight-behavior branch September 29, 2026 05:21
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.

1 participant