2026-07-21 16:45:13 +02:00

82 lines
1.6 KiB
Python

from app.labels import label
from app.policy import (
can_approve_context_roles,
can_manage_clarification_roles,
can_view_owner_roles,
)
def test_production_permissions() -> None:
roles = {"PRODUCTION"}
assert can_view_owner_roles(
roles,
"PRODUCTION",
)
assert can_view_owner_roles(
roles,
"JOINT",
)
assert not can_view_owner_roles(
roles,
"TECHNICAL",
)
assert not can_approve_context_roles(
roles
)
assert can_manage_clarification_roles(
roles
)
def test_technical_permissions() -> None:
roles = {"TECHNICAL"}
assert can_view_owner_roles(
roles,
"TECHNICAL",
)
assert can_view_owner_roles(
roles,
"JOINT",
)
assert not can_view_owner_roles(
roles,
"PRODUCTION",
)
assert can_approve_context_roles(
roles
)
assert not can_manage_clarification_roles(
roles
)
def test_admin_permissions() -> None:
roles = {"ADMIN"}
for owner in (
"PRODUCTION",
"TECHNICAL",
"JOINT",
):
assert can_view_owner_roles(
roles,
owner,
)
assert can_approve_context_roles(
roles
)
assert can_manage_clarification_roles(
roles
)
def test_human_labels() -> None:
assert label("WARNING") == "Aviso"
assert label("PENDING") == "Pendiente"
assert (
label(
"AUTHORIZED_LEGACY_PRODUCTION"
)
== "Producción con el sistema antiguo"
)
assert label("IN_CONSULTATION") == "En consulta"