Skip to content

test(upgrade): add comprehensive workflow coverage with deterministic fakes#126

Open
kangeunchan wants to merge 2 commits intoaltuslabsxyz:mainfrom
kangeunchan:refactor/upgrade-tests
Open

test(upgrade): add comprehensive workflow coverage with deterministic fakes#126
kangeunchan wants to merge 2 commits intoaltuslabsxyz:mainfrom
kangeunchan:refactor/upgrade-tests

Conversation

@kangeunchan
Copy link
Collaborator

Enhancement Description

Add comprehensive upgrade workflow tests to reach 80%+ package coverage and reduce regression risk.

Summary

This PR expands deterministic tests for internal/application/upgrade across state transitions, resume paths, and RPC-driven flows.

Previously, upgrade coverage was insufficient for high-confidence refactors:

  • critical branches were under-tested
  • resumable/gov workflow paths had limited direct verification
  • behavior changes were harder to review safely

Now the package has broad unit/workflow coverage with reusable fakes.

What Changed

1) Added reusable test scaffolding and fake RPC harness

Added:

  • internal/application/upgrade/test_helpers_test.go
  • internal/application/upgrade/eth_rpc_test.go

2) Added state and resume behavior suites

Added:

  • internal/application/upgrade/state_transitioner_test.go
  • internal/application/upgrade/state_detector_test.go
  • internal/application/upgrade/resume_test.go
  • internal/application/upgrade/switch_test.go

3) Added execution/workflow coverage

Added:

  • internal/application/upgrade/propose_vote_test.go
  • internal/application/upgrade/execute_test.go
  • internal/application/upgrade/resumable_execute_test.go

4) Tests

Coverage target met for package:

  • internal/application/upgrade coverage: 80.3%

Why This Is Needed

This is a reliability and testability improvement for a critical workflow.
Higher deterministic coverage reduces refactor risk and improves review confidence.

Behavior Notes / Regression Impact

No intentional runtime behavior change.
Changes are test-only.

Validation Performed

  • go test ./internal/application/upgrade -count=1
  • go test ./internal/application/upgrade -coverprofile=/tmp/upgrade.cover -count=1
  • go tool cover -func=/tmp/upgrade.cover
  • go test ./...

Signed-off-by: kangeunchan <kangeunchan080310@gmail.com>
Signed-off-by: kangeunchan <kangeunchan080310@gmail.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.

1 participant