- SiteInfo record added to Core/Models - ISiteListService interface with GetSitesAsync signature - SiteListService derives admin URL via Regex, connects via SessionManager - Filters to Active sites only, excludes OneDrive personal (-my.sharepoint.com) - Access denied ServerException wrapped as InvalidOperationException with actionable message - DeriveAdminUrl marked internal static for unit testability - InternalsVisibleTo added to AssemblyInfo.cs to expose internal to test project - 2 DeriveAdminUrl tests pass; full suite: 53 pass, 4 skip, 0 fail
92 B
92 B