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

2.3 KiB

Component Review Register

<style> table th, table td { vertical-align: top; } </style>

Last updated: 2026-09-15

Component Scope Status Date reviewed Next steps Notes
BusinessMgr.sln .NET 10 restore, Debug build, and tests Migrated; passing with warnings 2026-09-15 Review Razor runtime compilation and System.Drawing, perform application smoke tests, then release-validate. All eight projects target net10.0. Six redundant System.Data.Odbc 6.0.2 references were removed; the solution now consumes Common's tested 10.0.12 dependency transitively. Control tests pass 11 of 11 and Portal tests pass 13 of 13.
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-14 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-package-owning project, 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.