"""Invoke aliases stay locked to Cloud queue request types."""

from pathlib import Path

from src.domain.app_blocks.canonical import LEGACY_CAPABILITY_ALIASES

REQUEST_TYPES = (
    Path(__file__).resolve().parents[2]
    / "P2HSCloud"
    / "packages"
    / "shared"
    / "src"
    / "request-types.ts"
)

PAYMENT_ALIASES = {
    "payment.checkout.create": "payments.checkout.create",
    "payment.capture": "payments.order.capture",
    "payment.refund": "payments.refund.create",
    "payment.catalog.upsert": "payments.catalog.upsert",
}


def test_payment_aliases_match_cloud_queue_names():
    text = REQUEST_TYPES.read_text(encoding="utf-8")
    for queue_name, capability in PAYMENT_ALIASES.items():
        assert LEGACY_CAPABILITY_ALIASES[queue_name] == capability
        assert f'"{queue_name}"' in text
    assert '"integration.execute"' in text
    assert '"integrations.execute"' not in text
