fix(ui): surface precondition hints for silently-disabled review buttons (UX-Audit #2)
Cancel now shows an amber hint + tooltip while a merge drain is in progress (ShowMergeDrainHint mirrors IsMergeDraining). Continue, Reset & Retry, Open Diff, Worktree, and Review Combined Diff gain ToolTip.Tip + ToolTip.ShowOnDisabled explaining why they're locked. No CanExecute or behavior changed, only added communication.
This commit is contained in:
@@ -138,6 +138,24 @@ public class DetailsIslandReviewActionsTests : IDisposable
|
||||
Assert.False(vm.ApproveReviewCommand.CanExecute(null));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ShowMergeDrainHint_IsTrueExactlyWhenMergeIsDraining()
|
||||
{
|
||||
var vm = BuildVm(new RecordingWorkerClient());
|
||||
vm.Bind(new TaskRowViewModel { Id = "task-drain-1", Status = TaskStatus.WaitingForReview });
|
||||
|
||||
Assert.False(vm.ShowMergeDrainHint);
|
||||
Assert.True(vm.CancelReviewCommand.CanExecute(null));
|
||||
|
||||
vm.IsMergeDraining = true;
|
||||
Assert.True(vm.ShowMergeDrainHint);
|
||||
Assert.False(vm.CancelReviewCommand.CanExecute(null));
|
||||
|
||||
vm.IsMergeDraining = false;
|
||||
Assert.False(vm.ShowMergeDrainHint);
|
||||
Assert.True(vm.CancelReviewCommand.CanExecute(null));
|
||||
}
|
||||
|
||||
private sealed class ThrowingWorkerClient : StubWorkerClient
|
||||
{
|
||||
public override bool IsConnected => true;
|
||||
|
||||
Reference in New Issue
Block a user