feat(analyst): этапы задачи — аналитик раскладывает на steps с критериями готовности, dev идёт по ним
This commit is contained in:
@@ -150,6 +150,44 @@ func TestUpdateTaskNotFound(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestCreateAndGetTask_Steps(t *testing.T) {
|
||||
s, ctx := setupTestDB(t)
|
||||
task := &Task{
|
||||
ChatID: "tg://steps",
|
||||
Title: "Steps task",
|
||||
TaskTag: "steps-1",
|
||||
Steps: []Step{
|
||||
{Title: "Реализовать модель", AC: "структура готова"},
|
||||
{Title: "Добавить API", AC: "эндпоинт отвечает"},
|
||||
},
|
||||
}
|
||||
id, err := s.CreateTask(ctx, task)
|
||||
if err != nil {
|
||||
t.Fatalf("CreateTask: %v", err)
|
||||
}
|
||||
|
||||
got, err := s.GetTask(ctx, id)
|
||||
if err != nil {
|
||||
t.Fatalf("GetTask: %v", err)
|
||||
}
|
||||
if len(got.Steps) != 2 {
|
||||
t.Fatalf("steps len = %d, want 2", len(got.Steps))
|
||||
}
|
||||
if got.Steps[0].Title != "Реализовать модель" || got.Steps[0].AC != "структура готова" {
|
||||
t.Fatalf("steps[0] = %q / %q, want модель / структура готова", got.Steps[0].Title, got.Steps[0].AC)
|
||||
}
|
||||
|
||||
// апдейт этапов
|
||||
got.Steps = append(got.Steps, Step{Title: "Ревью", AC: "пройден review"})
|
||||
if err := s.UpdateTask(ctx, got); err != nil {
|
||||
t.Fatalf("UpdateTask steps: %v", err)
|
||||
}
|
||||
got2, _ := s.GetTask(ctx, id)
|
||||
if len(got2.Steps) != 3 {
|
||||
t.Fatalf("steps len after update = %d, want 3", len(got2.Steps))
|
||||
}
|
||||
}
|
||||
|
||||
func TestListTasks(t *testing.T) {
|
||||
s, ctx := setupTestDB(t)
|
||||
for i := 0; i < 5; i++ {
|
||||
|
||||
Reference in New Issue
Block a user