mirror of
https://github.com/openclaw/openclaw.git
synced 2026-07-14 11:56:06 +00:00
* 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
62 lines
2.0 KiB
TypeScript
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,
|
|
});
|
|
});
|
|
});
|