using SharepointToolbox.Core.Models; using SharepointToolbox.Services.Export; using Xunit; namespace SharepointToolbox.Tests.Services.Export; public class StorageHtmlExportServiceTests { [Fact] public void BuildHtml_WithNodes_ContainsToggleJs() { var svc = new StorageHtmlExportService(); var nodes = new List { new() { Name = "Shared Documents", Library = "Shared Documents", SiteTitle = "Site1", TotalSizeBytes = 5000, FileStreamSizeBytes = 4000, TotalFileCount = 20, Children = new List { new() { Name = "Archive", Library = "Shared Documents", SiteTitle = "Site1", TotalSizeBytes = 1000, FileStreamSizeBytes = 800, TotalFileCount = 5 } } } }; var html = svc.BuildHtml(nodes); Assert.Contains("toggle(", html); Assert.Contains("", html); Assert.Contains("Shared Documents", html); } [Fact] public void BuildHtml_WithEmptyList_ReturnsValidHtml() { var svc = new StorageHtmlExportService(); var html = svc.BuildHtml(new List()); Assert.Contains("", html); Assert.Contains(" { new() { Name = "Documents", Library = "Documents", SiteTitle = "Site1", TotalSizeBytes = 1000 }, new() { Name = "Images", Library = "Images", SiteTitle = "Site1", TotalSizeBytes = 2000 } }; var html = svc.BuildHtml(nodes); Assert.Contains("Documents", html); Assert.Contains("Images", html); } }