import { expect, test } from "bun:test"; import { featureConfigSchemaHistoryFields, renderFeatureConfigSchemaLine } from "./platform-infra-pac-feature-config-projection"; test("status and debug share one bounded feature config line", () => { const observation = { warning: true, blocking: false, code: "feature-config-value-mismatch", schemaPath: "config/feature-config.schema.json", errorCount: 2, firstError: " /webProbeSentinel required must have required property ", }; const line = renderFeatureConfigSchemaLine(observation); expect(line).toBe(" feature-config-schema: warning=true blocking=false code=feature-config-value-mismatch path=config/feature-config.schema.json errors=2 first=/webProbeSentinel required must have required property"); expect(line.length).toBeLessThan(300); }); test("history uses the same bounded observation fields", () => { expect(featureConfigSchemaHistoryFields({ warning: true, blocking: false, code: "feature-config-schema-missing", schemaPath: "config/feature-config.schema.json", errorCount: 1, firstError: "schema file is missing", })).toEqual([ ["featureConfigWarning", "true"], ["featureConfigBlocking", "false"], ["featureConfigCode", "feature-config-schema-missing"], ["featureConfigSchemaPath", "config/feature-config.schema.json"], ["featureConfigErrorCount", "1"], ["featureConfigFirstError", "schema file is missing"], ]); });