using System; using System.IO; using Xunit; namespace Paca.Tests.App; public class QuickActionSpotlightUiGateTests { private static readonly string SolutionRoot = Path.GetFullPath(Path.Combine(AppContext.BaseDirectory, "..", "..", "..", "..", "..")); private readonly string _xamlPath; private readonly string _csPath; public QuickActionSpotlightUiGateTests() { _xamlPath = Path.Combine(SolutionRoot, "src", "Paca.App", "QuickActionLauncherWindow.xaml"); _csPath = Path.Combine(SolutionRoot, "src", "Paca.App", "QuickActionLauncherWindow.xaml.cs"); } [Fact] public void Gate_QuickActionSpotlight_XamlStructure_ContainsEssentialControls() { Assert.True(File.Exists(_xamlPath), $"QuickActionLauncherWindow.xaml must exist at {_xamlPath}"); var xaml = File.ReadAllText(_xamlPath); // Core interactive controls Assert.Contains("x:Name=\"QuickActionSearchBox\"", xaml); Assert.Contains("x:Name=\"QuickActionResultsList\"", xaml); Assert.Contains("x:Name=\"InlineEvaluatorCard\"", xaml); // Accessibility & UIA FastPass Assert.Contains("AutomationProperties.Name", xaml); // Design token binding Assert.Contains("DynamicResource", xaml); Assert.Contains("CornerRadius=\"12\"", xaml); // Modern Spotlight card } [Fact] public void Gate_QuickActionSpotlight_CodeBehind_HandlesExecutionAndSearch() { Assert.True(File.Exists(_csPath), $"QuickActionLauncherWindow.xaml.cs must exist at {_csPath}"); var cs = File.ReadAllText(_csPath); Assert.Contains("QuickActionCatalog", cs); Assert.Contains("QuickActionSearchEngine", cs); Assert.Contains("QuickActionInlineEvaluator", cs); Assert.Contains("ExecuteSelectedAction", cs); } }