Skip to content

Increase unit test coverage (closes #64) - #79

Merged
Skeyelab merged 2 commits into
masterfrom
Skeyelab/check-app-test-coverage
Jun 22, 2026
Merged

Skeyelab merged 2 commits into
masterfrom
Skeyelab/check-app-test-coverage

Conversation

@Skeyelab

Copy link
Copy Markdown
Member

Summary

New test files

File Tests What's covered
TunnelManagerTests.swift +5 ngrok start with keychain token, missing token error, empty token error, process exit error propagation, duplicate URL suppression
RouteTests.swift +7 All 5 Compare raw values, all 3 Route init forms, JSON decode happy path, multiple comparisons, unknown key throws
WebhookRouteFactoryTests.swift +4 Nil routes → empty, empty routes → empty, name/comparison preservation, closure wiring
PluginManagerTests.swift +10 enabled() true/false/case-insensitive, module count on init, /ping in getAllRoutes, reload() preserves modules, apply() updates disabled commands and webhooks

Also registers the three new test files in Jared.xcodeproj and adds PluginManager.swift to the test target sources (required to resolve ConfigurationFile type in the same module as the test target).

Test plan

  • bash ./.github/scripts/test-macos.sh — 172 tests, 0 failures

🤖 Generated with Claude Code

EricDahl-NotreDame and others added 2 commits June 17, 2026 01:23
…outeFactory

Covers gaps from issue #64:
- TunnelManager: ngrok with keychain token, missing/empty token error, process
  exit error propagation, duplicate URL suppression (5 new tests)
- RouteTests: Compare raw values, all three Route inits, JSON decoding of
  comparisons map, unknown Compare key throws (7 new tests)
- WebhookRouteFactoryTests: nil/empty routes, name/comparison preservation,
  closure wiring (4 new tests)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
PluginManagerTests covers: enabled() true/false/case-insensitive, module
count after init, /ping route present in getAllRoutes, reload preserves
modules, apply updates disabledCommands and webhooks (10 new tests).

Also registers RouteTests, WebhookRouteFactoryTests, and PluginManagerTests
in the Xcode project so they compile into the test target.

172 tests total, 0 failures.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@Skeyelab
Skeyelab merged commit 8d2d8fc into master Jun 22, 2026
1 check passed
Skeyelab added a commit that referenced this pull request Aug 23, 2026
* Add tests for TunnelManager ngrok paths, Route decoding, and WebhookRouteFactory

Covers gaps from issue #64:
- TunnelManager: ngrok with keychain token, missing/empty token error, process
  exit error propagation, duplicate URL suppression (5 new tests)
- RouteTests: Compare raw values, all three Route inits, JSON decoding of
  comparisons map, unknown Compare key throws (7 new tests)
- WebhookRouteFactoryTests: nil/empty routes, name/comparison preservation,
  closure wiring (4 new tests)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Add PluginManagerTests and register new test files in xcodeproj

PluginManagerTests covers: enabled() true/false/case-insensitive, module
count after init, /ping route present in getAllRoutes, reload preserves
modules, apply updates disabledCommands and webhooks (10 new tests).

Also registers RouteTests, WebhookRouteFactoryTests, and PluginManagerTests
in the Xcode project so they compile into the test target.

172 tests total, 0 failures.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Eric Dahl <edahl@nd.edu>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
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.

Increase unit test coverage for core logic and recent features

2 participants