Files
openclaw/test/scripts/plugin-sdk-declaration-budget.test.ts
Peter Steinberger 54009c15bb improve(qa): verify native Slack chart delivery (#103337)
* test(qa): prove Slack native chart delivery

* test(qa): exercise Slack chart verifier through scenario

* fix(build): bound private QA SDK declarations separately

* fix(qa): normalize Slack chart history whitespace
2026-07-10 06:58:33 +01:00

62 lines
2.0 KiB
TypeScript

import { describe, expect, it } from "vitest";
import {
MAX_PRIVATE_QA_PUBLIC_PLUGIN_SDK_DECLARATION_BYTES,
MAX_PUBLIC_PLUGIN_SDK_DECLARATION_BYTES,
evaluatePluginSdkDeclarationBudget,
isPrivateQaPluginSdkBuild,
} from "../../scripts/lib/plugin-sdk-declaration-budget.mjs";
describe("plugin SDK declaration budget", () => {
it("selects private QA mode only for the explicit build flag", () => {
expect(isPrivateQaPluginSdkBuild({})).toBe(false);
expect(isPrivateQaPluginSdkBuild({ OPENCLAW_BUILD_PRIVATE_QA: "0" })).toBe(false);
expect(isPrivateQaPluginSdkBuild({ OPENCLAW_BUILD_PRIVATE_QA: "1" })).toBe(true);
});
it("enforces the publication budget at its exact boundary", () => {
expect(
evaluatePluginSdkDeclarationBudget({
buildPrivateQa: false,
declarationBytes: MAX_PUBLIC_PLUGIN_SDK_DECLARATION_BYTES,
}),
).toEqual({
budgetBytes: MAX_PUBLIC_PLUGIN_SDK_DECLARATION_BYTES,
budgetKind: "public",
shouldFail: false,
});
expect(
evaluatePluginSdkDeclarationBudget({
buildPrivateQa: false,
declarationBytes: MAX_PUBLIC_PLUGIN_SDK_DECLARATION_BYTES + 1,
}),
).toEqual({
budgetBytes: MAX_PUBLIC_PLUGIN_SDK_DECLARATION_BYTES,
budgetKind: "public",
shouldFail: true,
});
});
it("tracks private-build public-entry chunk growth under a separate budget", () => {
expect(
evaluatePluginSdkDeclarationBudget({
buildPrivateQa: true,
declarationBytes: MAX_PRIVATE_QA_PUBLIC_PLUGIN_SDK_DECLARATION_BYTES,
}),
).toEqual({
budgetBytes: MAX_PRIVATE_QA_PUBLIC_PLUGIN_SDK_DECLARATION_BYTES,
budgetKind: "private-qa-public-entry",
shouldFail: false,
});
expect(
evaluatePluginSdkDeclarationBudget({
buildPrivateQa: true,
declarationBytes: MAX_PRIVATE_QA_PUBLIC_PLUGIN_SDK_DECLARATION_BYTES + 1,
}),
).toEqual({
budgetBytes: MAX_PRIVATE_QA_PUBLIC_PLUGIN_SDK_DECLARATION_BYTES,
budgetKind: "private-qa-public-entry",
shouldFail: true,
});
});
});