Refactor QuickFiler coverage seams for issue 236 - #237
Merged
Conversation
- Add validated policy audit, code review, and feature audit artifacts for the final review pass - Capture the PASS disposition after current coverage evidence and acceptance criteria updates Refs: #236
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Suggested title: Refactor QuickFiler coverage seams for issue 236
Summary
EfcViewerQueue,ItemViewerQueue,QfcThemeHelper,EfcHomeController, andTlpCellStatescan be covered through deterministic seams or isolated logic.Why
The issue #236 targets previously contained logic coupled to static queues, live viewer construction, WinForms controls, Outlook COM traversal, or controller construction. The feature requirement was to close those coverage gaps through narrow seams or isolated testable methods without adding exemptions or weakening production behavior.
What Changed
Core behavior or architecture:
ViewerQueueCoreand queue adapters so the viewer queue behavior can be exercised without constructing live viewer forms in tests.EfcHomeControllerresponsibilities into testable dependency, metrics, timing, and execute-move surfaces while retaining production factories.QfcThemeControlSetand theme helper seams for deterministic theme construction and control-group mapping coverage.TlpCellStatescoverage paths for construction, conversion, duplicate handling,TryAddState, empty inputs, and null-input behavior.Tooling, automation, CI, or developer experience:
Tests:
Docs, templates, or agents:
Architecture / How It Fits Together
The change keeps production behavior behind adapters and factory methods while moving decision logic into local, injectable seams. Tests exercise queue behavior, theme mapping, controller dependency behavior, and state handling through those seams rather than through live COM, viewer, or WinForms construction. Coverage evidence is generated through the repository MSTest coverage script and normalized before threshold evaluation.
Verification
Completed
dotnet tool run csharpier format .passed in the current source state.msbuild TaskMaster.sln /t:Build /p:Configuration=Debug /p:Platform='Any CPU' /p:EnableNETAnalyzers=true /p:EnforceCodeStyleInBuild=truepassed in the current source state.msbuild TaskMaster.sln /t:Build /p:Configuration=Debug /p:Platform='Any CPU' /p:Nullable=enable /p:TreatWarningsAsErrors=truepassed in the current source state.pwsh -File scripts/vscode/Invoke-MSTestWithCoverage.ps1 -SearchRoot . -Configuration Debug -CoverageOutput docs\features\active\2026-07-04-coverage-gaps-test-seams-236\evidence\qa-gates\remediation-cycle2-current-coverage.cobertura.xmlpassed in the current source state.coverage.config,TaskMaster.runsettings, orscripts/vscode/TaskMaster.cli.runsettings.Recommended
Backward Compatibility / Migration Notes
Risks and Mitigations
Review Guide
QuickFiler/Helper Classes/ViewerQueueCore.cs,QuickFiler/Helper Classes/QfcThemeControlSet.cs, andQuickFiler/Controllers/EfcHomeControllerDependencies.csfirst.TlpCellStatesbehavior.scripts/vscode/Invoke-MSTestWithCoverage.Helpers.ps1and its Pester tests for coverage normalization behavior.Follow-ups
GitHub Auto-close
Related issues / PRs