You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Gap 1: Five expected tests from the issue's 'Expected Tests' table are absent from Phantom.Workspaces.Tests/GitWorktreeReviewWorkspaceTabViewModelTests.cs
RefreshAsync_ConcurrentInvocations_DoesNotMissIsRefreshingTrueEvent — Regression guard: attach \PropertyChanged\ while \IsRefreshing == true\ (constructor refresh in flight), trigger a second refresh, assert the observer eventually sees \alse\ and that \CurrentRefresh\ completes. This is the only test that would catch a recurrence of the missed-notification race.
RefreshAsync_CancelledMidFlight_LeavesIsRefreshingConsistent — Force cancellation of an in-flight refresh via a follow-up refresh, then assert \CurrentRefresh\ completes and \IsRefreshing == false\ at the end of the latest refresh.
CurrentRefresh_AfterConstructor_IsNonNullAndAwaitable — Dedicated contract test for the new public property (the behaviour exists inline in other tests but there is no standalone contract test).
CurrentRefresh_AfterTargetBranchChange_IsReplacedWithNewTask — Ensures the task reference is actually replaced after a branch change (not just that the new task completes).
Gap 2: Timing-dependent polling loops in 3 tests
The following three tests in GitWorktreeReviewWorkspaceTabViewModelTests.cs use while (vm.FileDiffs.Count == 0) { await Task.Delay(50); } as their primary synchronization mechanism for initial diff loading, which is a polling loop violating the timing-dependent test criterion:
These should be replaced with event-driven synchronization (e.g., subscribe to \FileDiffs.CollectionChanged\ with a \TaskCompletionSource\ before the VM is created, or expose a \CurrentRefresh\ await pattern that covers the initial diff build).
Missing implementation
Original issue: #924 — Blocked: #805/#888 blocked by test timeouts in GitWorktreeReviewWorkspaceTabViewModelTests
Verification gap: tests missing / criteria violation
Detail:
Gap 1: Five expected tests from the issue's 'Expected Tests' table are absent from Phantom.Workspaces.Tests/GitWorktreeReviewWorkspaceTabViewModelTests.cs
Gap 2: Timing-dependent polling loops in 3 tests
The following three tests in GitWorktreeReviewWorkspaceTabViewModelTests.cs use while (vm.FileDiffs.Count == 0) { await Task.Delay(50); } as their primary synchronization mechanism for initial diff loading, which is a polling loop violating the timing-dependent test criterion:
These should be replaced with event-driven synchronization (e.g., subscribe to \FileDiffs.CollectionChanged\ with a \TaskCompletionSource\ before the VM is created, or expose a \CurrentRefresh\ await pattern that covers the initial diff build).