from src.domain.codegen.generated_auth_conformance import legacy_migration_generation_plan


def test_legacy_target_adapts_to_existing_auth_gen_contract():
    plan = legacy_migration_generation_plan(
        {
            "staff": {"enabled": True, "methods": ["passwordless"], "signup": False, "password_reset": False},
            "customer": {"enabled": True, "methods": ["passwordless"], "signup": True, "password_reset": False},
        }
    )
    audiences = plan["runtime"]["auth_contract"]["audiences"]
    assert audiences[0]["methods"] == ["passwordless", "magic_link"]
    assert audiences[1]["signup_allowed"] is True
    assert audiences[1]["password_reset_allowed"] is False
