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

export const inventoryKnownBad: ClosureFixture = {
  fixtureId: "closure/inventory-known-bad",
  closureVersion: "1.0",
  scenarios: [
    {
      scenarioId: "accidental-test-route-in-production",
      kind: "inventory-provenance",
      entries: [
        {
          surfaceId: "route-contact-form",
          path: "src/pages/contact.astro",
          actualProvenance: "production",
          includedInProductionInventory: true,
        },
        {
          surfaceId: "route-contact-form-test",
          path: "src/pages/contact.test.ts",
          actualProvenance: "test",
          includedInProductionInventory: true,
        },
      ],
    },
    {
      scenarioId: "fixture-surface-without-provenance",
      kind: "inventory-provenance",
      entries: [
        {
          surfaceId: "fixture-checkout",
          path: "fixtures/checkout/payload.json",
          actualProvenance: "fixture",
          includedInProductionInventory: true,
        },
      ],
    },
    {
      scenarioId: "generated-artifact-silently-inventoried",
      kind: "inventory-provenance",
      entries: [
        {
          surfaceId: "generated-openapi",
          path: "generated/openapi.json",
          actualProvenance: "generated",
          declaredProvenance: "production",
          includedInProductionInventory: true,
        },
      ],
    },
    {
      scenarioId: "dependency-surface-mislabeled-production",
      kind: "inventory-provenance",
      entries: [
        {
          surfaceId: "vendor-sdk",
          path: "node_modules/@vendor/sdk/dist/index.js",
          actualProvenance: "dependency",
          declaredProvenance: "production",
          includedInProductionInventory: true,
        },
      ],
    },
    {
      scenarioId: "source-only-route-in-packaged-inventory",
      kind: "inventory-provenance",
      entries: [
        {
          surfaceId: "admin-route-source",
          path: "src/routes/admin.ts",
          actualProvenance: "source-only",
          includedInProductionInventory: true,
        },
      ],
    },
  ],
};
