Added new feature : display the file/folder and link of a SharingLink object in the permissions reports.
This commit is contained in:
@@ -86,20 +86,15 @@ public class UserAccessCsvExportServiceTests
|
||||
var svc = new UserAccessCsvExportService();
|
||||
var csv = svc.BuildCsv("Alice", "alice@contoso.com", new[] { DefaultEntry });
|
||||
|
||||
// Find the header row and count its quoted comma-separated fields
|
||||
// Header is: "Site","Object Type","Object","URL","Permission Level","Access Type","Granted Through"
|
||||
// That is 7 fields.
|
||||
// Header: Site, Object Type, Object, URL, Permission Level, Access Type,
|
||||
// Granted Through, TargetLabel, TargetUrl, SharingLinkType → 10 fields.
|
||||
var lines = csv.Split('\n', StringSplitOptions.RemoveEmptyEntries);
|
||||
|
||||
// Find a data row (after the blank line separating summary from data)
|
||||
// Data rows contain the entry content (not the header line itself)
|
||||
// We want to count fields in the header row:
|
||||
var headerLine = lines.FirstOrDefault(l => l.Contains("\"Site\",\"Object Type\""));
|
||||
Assert.NotNull(headerLine);
|
||||
|
||||
// Count comma-separated quoted fields: split by "," boundary
|
||||
var fields = CountCsvFields(headerLine!);
|
||||
Assert.Equal(7, fields);
|
||||
Assert.Equal(10, fields);
|
||||
}
|
||||
|
||||
// ── Test 5: WriteSingleFileAsync includes entries for all users ───────────
|
||||
@@ -190,8 +185,8 @@ public class UserAccessCsvExportServiceTests
|
||||
await svc.WriteSingleFileAsync(entries, tmpFile, CancellationToken.None, mergePermissions: true);
|
||||
var content = await File.ReadAllTextAsync(tmpFile);
|
||||
|
||||
// Header must contain consolidated columns
|
||||
Assert.Contains("\"User\",\"User Login\",\"Permission Level\",\"Access Type\",\"Granted Through\",\"Locations\",\"Location Count\"", content);
|
||||
// Header must contain consolidated columns (now includes Target* + SharingLinkType)
|
||||
Assert.Contains("\"User\",\"User Login\",\"Permission Level\",\"Access Type\",\"Granted Through\",\"TargetLabel\",\"TargetUrl\",\"SharingLinkType\",\"Locations\",\"Location Count\"", content);
|
||||
|
||||
// Alice's two entries merged — locations column contains both site titles
|
||||
Assert.Contains("Contoso", content);
|
||||
|
||||
Reference in New Issue
Block a user