Meshtastic-Android/conductor/archive/expand_testing_20260318/plan.md
James Rich 06b9f8c77a
feat: Enhance test coverage (#4847)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-03-19 03:09:19 +00:00

2.5 KiB

Implementation Plan: Expand Testing Coverage

Phase 1: Baseline Measurement [checkpoint: 6d9ad46]

  • Task: Execute ./gradlew koverLog and record current project test coverage. 8bdd673a1
  • Task: Conductor - User Manual Verification 'Phase 1: Baseline Measurement' (Protocol in workflow.md) 6d9ad468c

Phase 2: Feature ViewModel Migration to Turbine [checkpoint: 61b9595]

  • Task: Refactor MetricsViewModelTest to use Turbine and Mokkery in commonTest. 79e059286
  • Task: Refactor MessageViewModelTest to use Turbine and Mokkery in commonTest. b45697b53
  • Task: Refactor RadioConfigViewModelTest to use Turbine and Mokkery in commonTest. 33e10fc6c
  • Task: Refactor NodeListViewModelTest to use Turbine and Mokkery in commonTest. 33e10fc6c
  • Task: Refactor remaining feature ViewModels to use Turbine and Mokkery. 33e10fc6c
  • Task: Conductor - User Manual Verification 'Phase 2: Feature ViewModel Migration to Turbine' (Protocol in workflow.md) 61b959506

Phase 3: Property-Based Parsing Tests (Kotest) [checkpoint: cb71c85]

  • Task: Add Kotest property-based tests for StreamFrameCodec in core:network. 2c8fd6a8f
  • Task: Add Kotest property-based tests for PacketHandler implementations in core:data. 7d56c3fef
  • Task: Add Kotest property-based tests for TcpTransport and/or SerialTransport in core:network. 2fd68d67e
  • Task: Conductor - User Manual Verification 'Phase 3: Property-Based Parsing Tests (Kotest)' (Protocol in workflow.md) cb71c8588

Phase 4: Domain Logic Gap Fill [checkpoint: 5735aa1]

  • Task: Identify and fill testing gaps in core:domain use cases not fully covered during the initial Mokkery migration. 7b815130f
  • Task: Conductor - User Manual Verification 'Phase 4: Domain Logic Gap Fill' (Protocol in workflow.md) 5735aa148

Phase 5: Final Measurement & Verification [checkpoint: e321cf0]

  • Task: Execute full test suite (./gradlew test) to ensure stability. 02fa96f37
  • Task: Execute ./gradlew koverLog to generate and document the final coverage metrics. e3fe4ba1e
  • Task: Conductor - User Manual Verification 'Phase 5: Final Measurement & Verification' (Protocol in workflow.md) e321cf0

Phase 6: Documentation and Wrap-up [checkpoint: d950e5e]

  • Task: Review previous steps and update project documentation (e.g., README.md, testing guides). b2c9d3e
  • Task: Conductor - User Manual Verification 'Phase 6: Documentation and Wrap-up' (Protocol in workflow.md) d950e5e