feat(daily-prep): trigger planning from inside the prep-log window with an empty-state hint
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -33,6 +33,7 @@ public abstract class StubWorkerClient : IWorkerClient
|
||||
#pragma warning restore CS0067
|
||||
|
||||
public int ClearMyDayCalls { get; private set; }
|
||||
public int RunDailyPrepNowCalls { get; private set; }
|
||||
|
||||
public void RaisePrepStarted() => PrepStartedEvent?.Invoke();
|
||||
public void RaisePrepLine(string line) => PrepLineEvent?.Invoke(line);
|
||||
@@ -71,7 +72,7 @@ public abstract class StubWorkerClient : IWorkerClient
|
||||
public virtual Task QueuePlanningSubtasksAsync(string parentTaskId, CancellationToken ct = default) => Task.CompletedTask;
|
||||
public virtual Task<string?> GetWeekReportAsync(DateOnly start, DateOnly end) => Task.FromResult<string?>(null);
|
||||
public virtual Task<string> GenerateWeekReportAsync(DateOnly start, DateOnly end) => Task.FromResult("");
|
||||
public virtual Task<bool> RunDailyPrepNowAsync() => Task.FromResult(false);
|
||||
public virtual Task<bool> RunDailyPrepNowAsync() { RunDailyPrepNowCalls++; return Task.FromResult(false); }
|
||||
public virtual Task ClearMyDayAsync() { ClearMyDayCalls++; return Task.CompletedTask; }
|
||||
public virtual Task<AppSettingsDto?> GetAppSettingsAsync() => Task.FromResult<AppSettingsDto?>(null);
|
||||
public virtual Task<List<DailyNoteDto>> GetDailyNotesAsync(DateOnly day) => Task.FromResult(new List<DailyNoteDto>());
|
||||
|
||||
@@ -92,4 +92,20 @@ public class DetailsIslandPrepModeTests : IDisposable
|
||||
|
||||
Assert.NotEmpty(vm.PrepLog);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task PlanDayCommand_calls_worker()
|
||||
{
|
||||
var stub = new DefaultStub();
|
||||
var vm = NewDetailsVm(stub);
|
||||
await vm.PlanDayCommand.ExecuteAsync(null);
|
||||
Assert.Equal(1, stub.RunDailyPrepNowCalls);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ShowPrepEmptyState_true_when_empty_and_not_running()
|
||||
{
|
||||
var vm = NewDetailsVm(new DefaultStub());
|
||||
Assert.True(vm.ShowPrepEmptyState);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -53,15 +53,4 @@ public class TasksIslandDailyPrepTests : IDisposable
|
||||
Assert.Equal(1, stub.ClearMyDayCalls);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task PrepareDayCommand_raises_PrepRequested()
|
||||
{
|
||||
var vm = NewTasksVm(new DefaultStub());
|
||||
var raised = false;
|
||||
vm.PrepRequested += () => raised = true;
|
||||
|
||||
await vm.PrepareDayCommand.ExecuteAsync(null);
|
||||
|
||||
Assert.True(raised);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user