Files
roboco/tests/unit/gateway/test_librarian_role_grant.py
T

32 lines
1.3 KiB
Python
Raw Normal View History

"""propose_playbook_drafts is an Auditor-only manifest grant. Mirrors
test_sentinel_role_grant.py / test_coroner_role_grant.py. The Auditor
deliberately does NOT also gain draft_playbook (see test_playbook_verbs.py's
"auditor curates but does not draft" invariant) — a Librarian-authored
playbook draft is created through a different path (PlaybookService called
directly inside propose_playbook_drafts), never this do-verb — the exact
same precedent test_coroner_role_grant.py already locked for Coroner."""
from __future__ import annotations
from roboco.services.gateway.role_config import get_role_config
def test_auditor_gets_propose_playbook_drafts() -> None:
assert "propose_playbook_drafts" in get_role_config("auditor").do_tools
def test_auditor_still_does_not_get_draft_playbook() -> None:
assert "draft_playbook" not in get_role_config("auditor").do_tools
def test_product_owner_does_not_get_propose_playbook_drafts() -> None:
assert "propose_playbook_drafts" not in get_role_config("product_owner").do_tools
def test_head_marketing_does_not_get_propose_playbook_drafts() -> None:
assert "propose_playbook_drafts" not in get_role_config("head_marketing").do_tools
def test_developer_does_not_get_propose_playbook_drafts() -> None:
assert "propose_playbook_drafts" not in get_role_config("developer").do_tools