TabControl bleibt Content-Host, TabStrip wird retempliert (nur PART_SelectedContentHost) und durch eine zweigruppige Sidebar (BASIS/ERWEITERT) ersetzt. General wird in Allgemein/Ausfuehrung/Berichte gesplittet, Session Skills (Checkbox-Liste aus General + Skills-Tab) zu einer Liste zusammengelegt, und ein Repo-Hinweisstreifen erscheint auf Worktrees/Prime Claude/Session Skills/Berichte solange keine Liste ein WorkingDir hat. Fensterbreite 580 -> 700.
34 lines
934 B
C#
34 lines
934 B
C#
using ClaudeDo.Ui.ViewModels.Modals.Settings;
|
|
using Xunit;
|
|
|
|
namespace ClaudeDo.Ui.Tests.ViewModels;
|
|
|
|
public class GeneralSettingsTabViewModelTests
|
|
{
|
|
[Theory]
|
|
[InlineData(-1, false)]
|
|
[InlineData(0, true)]
|
|
[InlineData(80, true)]
|
|
[InlineData(100, true)]
|
|
[InlineData(101, false)]
|
|
public void Validate_UsageGateFiveHourPct_bounds(int value, bool expectedValid)
|
|
{
|
|
var vm = new GeneralSettingsTabViewModel { UsageGateFiveHourPct = value };
|
|
|
|
Assert.Equal(expectedValid, vm.Validate() is null);
|
|
}
|
|
|
|
[Theory]
|
|
[InlineData(-1, false)]
|
|
[InlineData(0, true)]
|
|
[InlineData(80, true)]
|
|
[InlineData(100, true)]
|
|
[InlineData(101, false)]
|
|
public void Validate_UsageGateSevenDayPct_bounds(int value, bool expectedValid)
|
|
{
|
|
var vm = new GeneralSettingsTabViewModel { UsageGateSevenDayPct = value };
|
|
|
|
Assert.Equal(expectedValid, vm.Validate() is null);
|
|
}
|
|
}
|