feat/planning-sessions-worker #7
@@ -56,6 +56,12 @@ public sealed class PlanningSessionManager
|
|||||||
public Task<int> FinalizeAsync(string taskId, bool queueAgentTasks, CancellationToken ct)
|
public Task<int> FinalizeAsync(string taskId, bool queueAgentTasks, CancellationToken ct)
|
||||||
=> _tasks.FinalizePlanningAsync(taskId, queueAgentTasks, ct);
|
=> _tasks.FinalizePlanningAsync(taskId, queueAgentTasks, ct);
|
||||||
|
|
||||||
|
public async Task<int> GetPendingDraftCountAsync(string taskId, CancellationToken ct)
|
||||||
|
{
|
||||||
|
var children = await _tasks.GetChildrenAsync(taskId, ct);
|
||||||
|
return children.Count(c => c.Status == TaskStatus.Draft);
|
||||||
|
}
|
||||||
|
|
||||||
public async Task DiscardAsync(string taskId, CancellationToken ct)
|
public async Task DiscardAsync(string taskId, CancellationToken ct)
|
||||||
{
|
{
|
||||||
var ok = await _tasks.DiscardPlanningAsync(taskId, ct);
|
var ok = await _tasks.DiscardPlanningAsync(taskId, ct);
|
||||||
|
|||||||
@@ -176,6 +176,21 @@ public sealed class PlanningSessionManagerTests : IDisposable
|
|||||||
Assert.Equal(TaskStatus.Planned, loaded!.Status);
|
Assert.Equal(TaskStatus.Planned, loaded!.Status);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public async Task GetPendingDraftCountAsync_ReturnsDraftCount()
|
||||||
|
{
|
||||||
|
var (listId, _) = await SeedListAsync();
|
||||||
|
var parent = await SeedManualTaskAsync(listId);
|
||||||
|
await _sut.StartAsync(parent.Id, CancellationToken.None);
|
||||||
|
await _tasks.CreateChildAsync(parent.Id, "c1", null, null, null);
|
||||||
|
await _tasks.CreateChildAsync(parent.Id, "c2", null, null, null);
|
||||||
|
await _tasks.CreateChildAsync(parent.Id, "c3", null, null, null);
|
||||||
|
|
||||||
|
var n = await _sut.GetPendingDraftCountAsync(parent.Id, CancellationToken.None);
|
||||||
|
|
||||||
|
Assert.Equal(3, n);
|
||||||
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
public async Task DiscardAsync_DeletesSessionDirAndResetsTask()
|
public async Task DiscardAsync_DeletesSessionDirAndResetsTask()
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user