from pathlib import Path
ROOT=Path(__file__).resolve().parents[1]
def text(p): return (ROOT/p).read_text()
def test_v024_router_and_page():
    assert 'v024_router' in text('app/main.py')
    assert 'v024_router' in text('app/main.py')
    assert '/modular-governance' in text('app/main.py')
def test_v024_models():
    s=text('app/models/entities.py')
    for name in ['TenantModuleAssignment','DataFieldMetadata','VisualGovernancePolicy','DataProcessFlow','GovernedReportSchedule']: assert f'class {name}' in s
def test_v024_governance_features():
    s=text('app/api/v024.py')
    for route in ['/modules','/discover-fields','/governance/policies','/flows','/report-schedules']: assert route in s
def test_v024_migration():
    s=text('migrations/024_modular_governance.sql')
    assert 'data_field_metadata_v024' in s and 'visual_governance_policies_v024' in s
