mirror of
https://github.com/rennf93/roboco.git
synced 2026-08-03 07:23:24 +02:00
42 lines
1.5 KiB
Python
42 lines
1.5 KiB
Python
"""Role-sets are now canonical in foundation; consumers must derive."""
|
|||
|
|
|
||
|
|
from __future__ import annotations
|
||
|
|
|
||
|
|
from roboco.agents_config import _BOARD_ROLES, TASK_CREATOR_ROLES
|
||
|
|
from roboco.foundation import identity
|
||
|
|
from roboco.services import permissions as perms
|
||
|
|
|
||
|
|
|
||
|
|
def test_agents_config_task_creator_roles_is_5_roles() -> None:
|
||
|
|
"""The 5-role 'PMs+board+CEO' set in agents_config is renamed to TASK_CREATOR_ROLES.
|
||
|
|
|
||
|
|
Pre-migration: agents_config.py defined PM_ROLES = {cell_pm, main_pm,
|
||
|
|
product_owner, head_marketing, ceo} — but this is the "roles that can
|
||
|
|
create tasks", NOT the PM hierarchy. Renamed to TASK_CREATOR_ROLES.
|
||
|
|
"""
|
||
|
|
expected = frozenset(
|
||
|
|
{
|
||
|
|
identity.Role.CELL_PM,
|
||
|
|
identity.Role.MAIN_PM,
|
||
|
|
identity.Role.PRODUCT_OWNER,
|
||
|
|
identity.Role.HEAD_MARKETING,
|
||
|
|
identity.Role.CEO,
|
||
|
|
}
|
||
|
|
)
|
||
|
|
assert expected == TASK_CREATOR_ROLES
|
||
|
|
|
||
|
|
|
||
|
|
def test_services_permissions_pm_roles_is_foundation() -> None:
|
||
|
|
"""services/permissions.PM_ROLES (2-role variant) is now foundation.PM_ROLES.
|
||
|
|
|
||
|
|
Object identity (`is`) — not just equality.
|
||
|
|
"""
|
||
|
|
assert perms.PM_ROLES is identity.PM_ROLES
|
||
|
|
|
||
|
|
|
||
|
|
def test_agents_config_board_roles_aliased_to_foundation() -> None:
|
||
|
|
"""agents_config._BOARD_ROLES is foundation.BOARD_ROLES (3 roles, no main_pm)."""
|
||
|
|
assert _BOARD_ROLES == identity.BOARD_ROLES
|
||
|
|
# Specifically: no MAIN_PM (main_pm is below board, not part of it).
|
||
|
|
assert identity.Role.MAIN_PM not in _BOARD_ROLES
|