using System.CommandLine; using ZB.MOM.WW.ScadaBridge.CLI.Commands; namespace ZB.MOM.WW.ScadaBridge.CLI.Tests; public class ProductionRootTests { /// Verifies that the production root command exposes the shared-schema command and the secured-write lifecycle subcommands. [Fact] public void ProductionRoot_ExposesSchemaLibraryAndSecuredWriteLifecycle() { var rootType = typeof(SecuredWriteCommands).Assembly.GetType("ZB.MOM.WW.ScadaBridge.CLI.CliApplication"); Assert.NotNull(rootType); var method = rootType.GetMethod("BuildRoot"); Assert.NotNull(method); var root = Assert.IsType(method.Invoke(null, null)); Assert.Contains(root.Subcommands, c => c.Name == "shared-schema"); var secured = root.Subcommands.Single(c => c.Name == "secured-write"); Assert.Equal(new[] { "approve", "list", "reject", "submit" }, secured.Subcommands.Select(c => c.Name).Order()); } }