feat(11-02): extend export tests to verify branding injection across all 5 services
- HtmlExportServiceTests: 3 new tests (MSP logo only, null branding no img, both logos) - SearchExportServiceTests: 1 new branding test (img tag present when branding provided) - StorageHtmlExportServiceTests: 1 new branding test (img tag present) - DuplicatesHtmlExportServiceTests: 1 new branding test (img tag present) - UserAccessHtmlExportServiceTests: 1 new branding test (img tag present) - MakeBranding helper added to each test class - All 45 export tests pass; full suite 247/247 with 0 failures
This commit is contained in:
@@ -15,6 +15,13 @@ public class HtmlExportServiceTests
|
||||
string url = "https://contoso.sharepoint.com/sites/A") =>
|
||||
new("Web", "Site A", url, true, users, userLogins, "Read", "Direct Permissions", "User");
|
||||
|
||||
private static ReportBranding MakeBranding(bool msp = true, bool client = false)
|
||||
{
|
||||
var mspLogo = msp ? new LogoData { Base64 = "bXNw", MimeType = "image/png" } : null;
|
||||
var clientLogo = client ? new LogoData { Base64 = "Y2xpZW50", MimeType = "image/jpeg" } : null;
|
||||
return new ReportBranding(mspLogo, clientLogo);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void BuildHtml_WithKnownEntries_ContainsUserNames()
|
||||
{
|
||||
@@ -50,4 +57,34 @@ public class HtmlExportServiceTests
|
||||
// The HTML should surface the external marker so admins can identify guests
|
||||
Assert.Contains("EXT", html, StringComparison.OrdinalIgnoreCase);
|
||||
}
|
||||
|
||||
// ── Branding tests ────────────────────────────────────────────────────────
|
||||
|
||||
[Fact]
|
||||
public void BuildHtml_WithMspBranding_ContainsMspLogoImg()
|
||||
{
|
||||
var entry = MakeEntry("Test", "test@contoso.com");
|
||||
var svc = new HtmlExportService();
|
||||
var html = svc.BuildHtml(new[] { entry }, MakeBranding(msp: true, client: false));
|
||||
Assert.Contains("data:image/png;base64,bXNw", html);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void BuildHtml_WithNullBranding_ContainsNoLogoImg()
|
||||
{
|
||||
var entry = MakeEntry("Test", "test@contoso.com");
|
||||
var svc = new HtmlExportService();
|
||||
var html = svc.BuildHtml(new[] { entry });
|
||||
Assert.DoesNotContain("data:image/png;base64,", html);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void BuildHtml_WithBothLogos_ContainsTwoImgs()
|
||||
{
|
||||
var entry = MakeEntry("Test", "test@contoso.com");
|
||||
var svc = new HtmlExportService();
|
||||
var html = svc.BuildHtml(new[] { entry }, MakeBranding(msp: true, client: true));
|
||||
Assert.Contains("data:image/png;base64,bXNw", html);
|
||||
Assert.Contains("data:image/jpeg;base64,Y2xpZW50", html);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user