fix(ui): ssh settings tab survives an offline worker without wiping workspaces
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user