Files
BusinessMgr-2019/docs/component-reviews.md
T

20 lines
3.3 KiB
Markdown

# Component Review Register
<style>
table th,
table td {
vertical-align: top;
}
</style>
Last updated: 2026-09-16
| Component | Scope | Status | Date reviewed | Next steps | Notes |
|---|---|---|---|---|---|
| `BusinessMgr.sln` | .NET 10 restore, Debug build, and tests | Migrated; passing with warnings | 2026-09-16 | Perform application smoke tests, then release-validate. | All eight projects target `net10.0`. Razor runtime compilation 10.0.12, System.Drawing.Common 10.0.12, and the tested Common database dependencies are aligned with .NET 10. Control tests pass 11 of 11 and Portal tests pass 13 of 13. |
| `SaBusMgrCoreWeb` and web applications | Razor runtime compilation | Dependency aligned with .NET 10 | 2026-09-16 | Retain the package-owner audits and cover runtime view compilation in application smoke testing. | Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation 10.0.12 is referenced by the shared web project and both applications. The solution build and both test suites pass, and all three package audits report no known vulnerabilities. |
| `SaBusMgrCoreProcs/Procs/Reports` | System.Drawing.Common and legacy report printing | Dependency aligned; Windows-only architecture review deferred | 2026-09-16 | Revisit only when report printing is required or cross-platform report output is planned. | System.Drawing.Common 10.0.12 builds and audits cleanly. The Windows-only subsystem uses `Graphics`, printing, fonts, brushes, text measurement, and footer rendering, but the abstract `SbmReport` currently has no implementations or call sites. Future options remain isolation/removal, a dedicated Windows-targeted project with rendering tests, or replacement with SkiaSharp-based image/PDF reporting. |
| `SaBusMgrStandardBase/Base/Helpers/SbmPasswordHelper.cs` and `SaBusinessMgrCoreWebControl/Control/Helpers/SbmcPasswordHelper.cs` | Password hashing | Dependency upgrade complete; legacy hashes compatible | 2026-09-13 | Preserve the compatibility tests when password-hashing defaults or account migration behavior changes. | Both helpers use `PasswordHasher<TUser>` from `Microsoft.Extensions.Identity.Core` 10.0.12. Current hashes round-trip, wrong passwords fail, and legacy Identity V3 hashes remain valid while being identified for rehash. |
| `eng/validate.ps1` | Repository validation | Complete; passing | 2026-09-16 | Use as the standard validation entry point and extend it when repository-wide checks change. | Restores and builds serially with the .NET CLI, runs 11 Control and 13 Portal NUnit tests, audits the Identity, process, and three web package owners, and verifies changed-file line endings and diffs. |
| `SaBusMgrTest_Control` and `SaBusMgrTest_Portal` | Test framework, SDK, and coverage tooling | Migrated to NUnit; coverage verified | 2026-09-15 | Use NUnit constraint assertions with `Assert.That` wherever possible. | Both projects use Microsoft.NET.Test.Sdk 18.10.0, NUnit 4.6.1, NUnit3TestAdapter 6.3.0, NUnit.Analyzers 4.15.0, and coverlet collector 10.0.1. All tests use NUnit's constraint assertion model; Control passes 11 tests and Portal passes 13 tests. The Control base fixture constructs valid session data from the configured test account, avoiding a null session in console tests. The optional validation coverage mode verifies a non-empty Cobertura report from each suite without an SSDT-specific publish step. |