chore: archive v1.1 Enhanced Reports milestone
Some checks failed
Release SharePoint Toolbox v2 / release (push) Failing after 14s
Some checks failed
Release SharePoint Toolbox v2 / release (push) Failing after 14s
v1.1 shipped with 4 phases (25 plans), 10/10 requirements complete: - Global site selection (toolbar picker, all tabs consume) - User access audit (Graph people-picker, direct/group/inherited) - Simplified permissions (plain-language labels, risk levels, detail toggle) - Storage visualization (LiveCharts2 pie/donut + bar charts) Post-phase polish: centralized site selection (removed per-tab pickers), claims prefix stripping, StorageMetrics backfill, chart tooltip fix, summary stats in app + HTML exports. 205 tests passing, 10,484 LOC. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -5,6 +5,7 @@ using CommunityToolkit.Mvvm.Messaging;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Microsoft.SharePoint.Client;
|
||||
using Moq;
|
||||
using SharepointToolbox.Core.Messages;
|
||||
using SharepointToolbox.Core.Models;
|
||||
using SharepointToolbox.Services;
|
||||
using SharepointToolbox.ViewModels;
|
||||
@@ -44,9 +45,13 @@ public class PermissionsViewModelTests
|
||||
mockSessionManager.Object,
|
||||
new NullLogger<FeatureViewModelBase>());
|
||||
|
||||
// Set up two site URLs via SelectedSites
|
||||
vm.SelectedSites.Add(new SiteInfo("https://tenant1.sharepoint.com/sites/alpha", "Alpha"));
|
||||
vm.SelectedSites.Add(new SiteInfo("https://tenant1.sharepoint.com/sites/beta", "Beta"));
|
||||
// Set up two site URLs via global site selection
|
||||
WeakReferenceMessenger.Default.Send(new GlobalSitesChangedMessage(
|
||||
new List<SiteInfo>
|
||||
{
|
||||
new("https://tenant1.sharepoint.com/sites/alpha", "Alpha"),
|
||||
new("https://tenant1.sharepoint.com/sites/beta", "Beta")
|
||||
}.AsReadOnly()));
|
||||
vm.SetCurrentProfile(new TenantProfile
|
||||
{
|
||||
Name = "Test",
|
||||
@@ -118,7 +123,8 @@ public class PermissionsViewModelTests
|
||||
var vm = CreateViewModelWithResults(entries);
|
||||
|
||||
// Simulate scan completing
|
||||
vm.SelectedSites.Add(new SiteInfo("https://test.sharepoint.com", "Test"));
|
||||
WeakReferenceMessenger.Default.Send(new GlobalSitesChangedMessage(
|
||||
new List<SiteInfo> { new("https://test.sharepoint.com", "Test") }.AsReadOnly()));
|
||||
vm.SetCurrentProfile(new TenantProfile { Name = "Test", TenantUrl = "https://test.sharepoint.com", ClientId = "cid" });
|
||||
await vm.TestRunOperationAsync(CancellationToken.None, new Progress<OperationProgress>());
|
||||
|
||||
@@ -143,7 +149,8 @@ public class PermissionsViewModelTests
|
||||
};
|
||||
|
||||
var vm = CreateViewModelWithResults(entries);
|
||||
vm.SelectedSites.Add(new SiteInfo("https://test.sharepoint.com", "Test"));
|
||||
WeakReferenceMessenger.Default.Send(new GlobalSitesChangedMessage(
|
||||
new List<SiteInfo> { new("https://test.sharepoint.com", "Test") }.AsReadOnly()));
|
||||
vm.SetCurrentProfile(new TenantProfile { Name = "Test", TenantUrl = "https://test.sharepoint.com", ClientId = "cid" });
|
||||
await vm.TestRunOperationAsync(CancellationToken.None, new Progress<OperationProgress>());
|
||||
|
||||
@@ -169,7 +176,8 @@ public class PermissionsViewModelTests
|
||||
};
|
||||
|
||||
var vm = CreateViewModelWithResults(entries);
|
||||
vm.SelectedSites.Add(new SiteInfo("https://s1", "S1"));
|
||||
WeakReferenceMessenger.Default.Send(new GlobalSitesChangedMessage(
|
||||
new List<SiteInfo> { new("https://s1", "S1") }.AsReadOnly()));
|
||||
vm.SetCurrentProfile(new TenantProfile { Name = "Test", TenantUrl = "https://s1", ClientId = "cid" });
|
||||
await vm.TestRunOperationAsync(CancellationToken.None, new Progress<OperationProgress>());
|
||||
|
||||
|
||||
Reference in New Issue
Block a user