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"