import type { ClosureFixture } from "./types.js";

export const runtimeReferenceKnownBad: ClosureFixture = {
  fixtureId: "closure/runtime-reference-known-bad",
  closureVersion: "1.0",
  scenarios: [
    {
      scenarioId: "missing-worker-asset-path",
      kind: "runtime-reference",
      references: [
        {
          referenceId: "worker-asset",
          kind: "asset",
          target: "dist/client/_worker.js/assets/logo.svg",
          packagedEnvironment: "cloudflare-worker",
          resolved: false,
          resolutionError: "ENOENT: asset not found in packaged bundle",
        },
      ],
    },
    {
      scenarioId: "missing-module-export",
      kind: "runtime-reference",
      references: [
        {
          referenceId: "peer-export",
          kind: "module-export",
          target: "@vendor/ui-kit#Tooltip",
          packagedEnvironment: "node-package",
          resolved: false,
          resolutionError: "export Tooltip is not defined by package entry",
        },
      ],
    },
    {
      scenarioId: "missing-config-path",
      kind: "runtime-reference",
      references: [
        {
          referenceId: "runtime-config",
          kind: "config-path",
          target: "config/production.json",
          packagedEnvironment: "node-package",
          resolved: false,
          resolutionError: "config path absent from deploy artifact",
        },
      ],
    },
    {
      scenarioId: "missing-production-route",
      kind: "runtime-reference",
      references: [
        {
          referenceId: "checkout-route",
          kind: "route",
          target: "/checkout/confirm",
          packagedEnvironment: "static-site",
          resolved: false,
          resolutionError: "route not registered in packaged router manifest",
        },
      ],
    },
  ],
};
