from pathlib import Path
ROOT=Path(__file__).resolve().parents[1]
def read(x): return (ROOT/x).read_text()
def test_v020_router_ui_version():
 m=read('app/main.py'); assert 'v020_router' in m and 'v020_router' in m and '/saas-admin' in m
 assert (ROOT/'app/static/saas-admin.html').exists()
def test_v020_models_and_migration():
 s=read('app/models/entities.py')+read('migrations/020_enterprise_saas_foundation.sql')
 for t in ['tenants_v020','tenant_memberships_v020','saas_plans_v020','saas_subscriptions_v020','saas_modules_v020','tenant_entitlements_v020','tenant_branding_v020','tenant_usage_meters_v020','tenant_provisioning_runs_v020']: assert t in s
def test_v020_tenant_controls():
 s=read('app/api/v020.py')+read('app/services/saas_tenancy.py')
 for token in ['X-Tenant-ID','provision_tenant','resolve_membership','TenantEntitlement','meter_usage','isolation_mode','trial_ends_at']: assert token in s
def test_v020_docs():
 for f in ['USER_GUIDE_V020.md','ADMIN_GUIDE_V020.md','HOMOLOGATION_V020.md']: assert (ROOT/f).exists()
