fix(claude-do): merge fix(ui): Working-Dir beim Speichern der Listen-Settings als
ClaudeDo-Task: e8986885-add7-43b4-94bf-f12be5712848
This commit is contained in:
@@ -161,7 +161,9 @@ public class ListSettingsModalViewModelTests
|
||||
string? reported = null;
|
||||
vm.ErrorReported += m => reported = m;
|
||||
|
||||
await vm.LoadAsync("l1", "List One", "/repo", "feat");
|
||||
// Empty working dir: this test is about ticket-project load isolation, not the
|
||||
// working-dir-is-a-repo gate added for the "not a git repo" Save check.
|
||||
await vm.LoadAsync("l1", "List One", "", "feat");
|
||||
|
||||
Assert.Equal("make test", vm.VerifyCommand);
|
||||
Assert.True(vm.PowerUseAllowed);
|
||||
@@ -169,4 +171,45 @@ public class ListSettingsModalViewModelTests
|
||||
Assert.NotNull(reported);
|
||||
Assert.Contains("ticket system down", reported);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task LoadAsync_WorkingDirNotAGitRepo_WarnsAndBlocksSave()
|
||||
{
|
||||
var plainDir = Directory.CreateTempSubdirectory().FullName;
|
||||
var worker = new CountingWorker { Cfg = new ListConfigDto("opus", null, null) };
|
||||
var vm = new ListSettingsModalViewModel(worker, NewFactory());
|
||||
|
||||
await vm.LoadAsync("l1", "List One", plainDir, "feat");
|
||||
|
||||
Assert.NotEmpty(vm.WorkingDirWarning);
|
||||
Assert.False(vm.SaveCommand.CanExecute(null));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task LoadAsync_WorkingDirIsAGitRepo_NoWarningAndSaveAllowed()
|
||||
{
|
||||
var repoDir = Directory.CreateTempSubdirectory().FullName;
|
||||
Directory.CreateDirectory(Path.Combine(repoDir, ".git"));
|
||||
var worker = new CountingWorker { Cfg = new ListConfigDto("opus", null, null) };
|
||||
var vm = new ListSettingsModalViewModel(worker, NewFactory());
|
||||
|
||||
await vm.LoadAsync("l1", "List One", repoDir, "feat");
|
||||
|
||||
Assert.Empty(vm.WorkingDirWarning);
|
||||
Assert.True(vm.SaveCommand.CanExecute(null));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void WorkingDir_ClearedAfterNotARepoWarning_ClearsWarningAndAllowsSave()
|
||||
{
|
||||
var plainDir = Directory.CreateTempSubdirectory().FullName;
|
||||
var worker = new CountingWorker { Cfg = new ListConfigDto("opus", null, null) };
|
||||
var vm = new ListSettingsModalViewModel(worker, NewFactory()) { WorkingDir = plainDir };
|
||||
Assert.NotEmpty(vm.WorkingDirWarning);
|
||||
|
||||
vm.WorkingDir = "";
|
||||
|
||||
Assert.Empty(vm.WorkingDirWarning);
|
||||
Assert.True(vm.SaveCommand.CanExecute(null));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user