generated from coulomb/repo-seed
Close lifecycle transition helper workplan
This commit is contained in:
@@ -7,6 +7,8 @@ from api.services.lifecycle import (
|
||||
should_activate_parent_for_active_tasks,
|
||||
should_activate_parent_for_task_start,
|
||||
status_value,
|
||||
transition_task_status,
|
||||
transition_workstream_status,
|
||||
)
|
||||
|
||||
|
||||
@@ -66,3 +68,34 @@ def test_status_value_unwraps_enum_like_values():
|
||||
value = "In_Progress"
|
||||
|
||||
assert status_value(Status()) == "in_progress"
|
||||
|
||||
|
||||
def test_transition_workstream_status_normalizes_aliases():
|
||||
class Workstream:
|
||||
status = "todo"
|
||||
|
||||
ws = Workstream()
|
||||
result = transition_workstream_status(ws, "done")
|
||||
|
||||
assert ws.status == "finished"
|
||||
assert result.previous_status == "ready"
|
||||
assert result.target_status == "finished"
|
||||
assert result.changed is True
|
||||
|
||||
|
||||
def test_transition_task_status_activates_parent_once():
|
||||
class Task:
|
||||
status = "todo"
|
||||
|
||||
class Workstream:
|
||||
status = "ready"
|
||||
|
||||
task = Task()
|
||||
ws = Workstream()
|
||||
result = transition_task_status(task, "in_progress", parent_workstream=ws)
|
||||
|
||||
assert task.status == "in_progress"
|
||||
assert ws.status == "active"
|
||||
assert result.parent_activated is True
|
||||
assert result.previous_status == "todo"
|
||||
assert result.target_status == "in_progress"
|
||||
|
||||
Reference in New Issue
Block a user