feat(data): TaskRepository.SetPlanningStartedAsync
This commit is contained in:
@@ -119,4 +119,37 @@ public sealed class TaskRepositoryPlanningTests : IDisposable
|
||||
await Assert.ThrowsAsync<InvalidOperationException>(() =>
|
||||
_tasks.CreateChildAsync("nonexistent-parent-id", "t", null, null, null));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task SetPlanningStartedAsync_ManualTask_TransitionsToPlanning()
|
||||
{
|
||||
var listId = await CreateListAsync();
|
||||
var task = MakeTask(listId, TaskStatus.Manual);
|
||||
await _tasks.AddAsync(task);
|
||||
|
||||
var result = await _tasks.SetPlanningStartedAsync(task.Id, "tok-abc");
|
||||
|
||||
Assert.NotNull(result);
|
||||
Assert.Equal(TaskStatus.Planning, result!.Status);
|
||||
Assert.Equal("tok-abc", result.PlanningSessionToken);
|
||||
|
||||
var loaded = await _tasks.GetByIdAsync(task.Id);
|
||||
Assert.Equal(TaskStatus.Planning, loaded!.Status);
|
||||
Assert.Equal("tok-abc", loaded.PlanningSessionToken);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task SetPlanningStartedAsync_NonManualTask_ReturnsNull()
|
||||
{
|
||||
var listId = await CreateListAsync();
|
||||
var task = MakeTask(listId, TaskStatus.Queued);
|
||||
await _tasks.AddAsync(task);
|
||||
|
||||
var result = await _tasks.SetPlanningStartedAsync(task.Id, "tok-xyz");
|
||||
|
||||
Assert.Null(result);
|
||||
var loaded = await _tasks.GetByIdAsync(task.Id);
|
||||
Assert.Equal(TaskStatus.Queued, loaded!.Status);
|
||||
Assert.Null(loaded.PlanningSessionToken);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user