Files
openclaw-mission-control/backend/tests/test_board_onboarding_autonomy_toggle.py

46 lines
1.4 KiB
Python

from __future__ import annotations
from app.api.board_onboarding import _require_approval_for_done_from_draft
def test_require_approval_for_done_defaults_true_without_lead_agent_draft() -> None:
assert _require_approval_for_done_from_draft(None) is True
assert _require_approval_for_done_from_draft({}) is True
assert _require_approval_for_done_from_draft({"lead_agent": "invalid"}) is True
def test_require_approval_for_done_stays_enabled_for_non_fully_autonomous_modes() -> None:
assert (
_require_approval_for_done_from_draft(
{"lead_agent": {"autonomy_level": "ask_first"}},
)
is True
)
assert (
_require_approval_for_done_from_draft(
{"lead_agent": {"autonomy_level": "balanced"}},
)
is True
)
def test_require_approval_for_done_disables_for_fully_autonomous_choices() -> None:
assert (
_require_approval_for_done_from_draft(
{"lead_agent": {"autonomy_level": "autonomous"}},
)
is False
)
assert (
_require_approval_for_done_from_draft(
{"lead_agent": {"autonomy_level": "fully-autonomous"}},
)
is False
)
assert (
_require_approval_for_done_from_draft(
{"lead_agent": {"identity_profile": {"autonomy_level": "fully autonomous"}}},
)
is False
)