using SharepointToolbox.Core.Models; using SharepointToolbox.Services.Export; using Xunit; namespace SharepointToolbox.Tests.Services.Export; [Trait("Category", "Unit")] public class BrandingHtmlHelperTests { private static LogoData MakeLogo(string mime = "image/png", string base64 = "dGVzdA==") => new() { MimeType = mime, Base64 = base64 }; // Test 1: null ReportBranding returns empty string [Fact] public void BuildBrandingHeader_NullBranding_ReturnsEmptyString() { var result = BrandingHtmlHelper.BuildBrandingHeader(null); Assert.Equal(string.Empty, result); } // Test 2: both logos null returns empty string [Fact] public void BuildBrandingHeader_BothLogosNull_ReturnsEmptyString() { var branding = new ReportBranding(null, null); var result = BrandingHtmlHelper.BuildBrandingHeader(branding); Assert.Equal(string.Empty, result); } // Test 3: only MspLogo — contains MSP img tag, no second img [Fact] public void BuildBrandingHeader_OnlyMspLogo_ReturnsHtmlWithOneImg() { var msp = MakeLogo("image/png", "bXNwbG9nbw=="); var branding = new ReportBranding(msp, null); var result = BrandingHtmlHelper.BuildBrandingHeader(branding); Assert.Contains("data:image/png;base64,bXNwbG9nbw==", result); Assert.Single(result.Split("