from src.domain.feature_packs.composer import AccessPolicyEntry, RelationshipScope


def test_relationship_scope_is_declarative_and_subject_agnostic():
    entry = AccessPolicyEntry(
        scope=RelationshipScope(
            relation_entity_key="assignment",
            subject_entity_field="subject_entity_key",
            subject_record_field="subject_record_id",
            principal_field="assigned_to",
            active_field="status",
            active_values=["active"],
        )
    )
    assert entry.model_dump()["scope"]["relation_entity_key"] == "assignment"
