feat(management): additive Skip/Take paging on template/instance lists (arch-review P2)
Claude-Session: https://claude.ai/code/session_01MtdgwpEeCUn6cUA5f1LMPj
This commit is contained in:
@@ -151,6 +151,41 @@ public class CommandTreeTests
|
||||
Assert.Contains("clear", subNames);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void TemplateList_HasSkipAndTakePagingOptions()
|
||||
{
|
||||
// arch-review P2: `template list` gained additive --skip/--take offset paging.
|
||||
var template = TemplateCommands.Build(Url, Format, Username, Password);
|
||||
var list = template.Subcommands.Single(c => c.Name == "list");
|
||||
var optionNames = list.Options.Select(o => o.Name).ToList();
|
||||
Assert.Contains("--skip", optionNames);
|
||||
Assert.Contains("--take", optionNames);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void InstanceList_HasSkipAndTakePagingOptions()
|
||||
{
|
||||
// arch-review P2: `instance list` gained additive --skip/--take offset paging.
|
||||
var instance = InstanceCommands.Build(Url, Format, Username, Password);
|
||||
var list = instance.Subcommands.Single(c => c.Name == "list");
|
||||
var optionNames = list.Options.Select(o => o.Name).ToList();
|
||||
Assert.Contains("--skip", optionNames);
|
||||
Assert.Contains("--take", optionNames);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void InstanceList_ParsesTakeOptionValue()
|
||||
{
|
||||
// Parse-level check that --take binds to an int value on the list command.
|
||||
var instance = InstanceCommands.Build(Url, Format, Username, Password);
|
||||
var list = instance.Subcommands.Single(c => c.Name == "list");
|
||||
var takeOption = list.Options.Single(o => o.Name == "--take");
|
||||
|
||||
var parse = list.Parse(new[] { "--skip", "10", "--take", "5" });
|
||||
Assert.Empty(parse.Errors);
|
||||
Assert.Equal(5, parse.GetValue((Option<int?>)takeOption));
|
||||
}
|
||||
|
||||
[Theory]
|
||||
[InlineData(typeof(GetInstanceCommand))]
|
||||
[InlineData(typeof(ListSitesCommand))]
|
||||
|
||||
Reference in New Issue
Block a user