fix(ui): ssh settings tab survives an offline worker without wiping workspaces

This commit is contained in:
mika kuns
2026-10-02 14:33:57 +02:00
parent 89ed885295
commit 8c5db95c01
2 changed files with 32 additions and 3 deletions
@@ -74,4 +74,23 @@ public sealed class SshSettingsTabViewModelTests
await vm.LoadAsync();
Assert.Empty(vm.Hosts);
}
private sealed class OfflineWorker : StubWorkerClient
{
public bool SetCalled;
public override Task<List<SshWorkspace>> GetSshWorkspacesAsync() => throw new InvalidOperationException("offline");
public override Task SetSshWorkspacesAsync(List<SshWorkspace> workspaces) { SetCalled = true; return Task.CompletedTask; }
}
[Fact]
public async Task WorkerOffline_LoadDoesNotThrow_AndSaveDoesNotWipe()
{
var worker = new OfflineWorker();
var vm = new SshSettingsTabViewModel(worker, () => "");
await vm.LoadAsync();
await vm.SaveAsync();
Assert.False(worker.SetCalled);
}
}