Files
dev/third_party/pi/packages/coding-agent/test/suite/regressions/7572-provider-retry-settings-merge.test.ts
alexion 4def357d09 chore(vendor): import pi 0.85.1
Imported as a linear vendor commit so forge rebases do not replay the upstream root tree.

git-subtree-dir: third_party/pi

git-subtree-split: d981de1229ef899957bbe968bc8dcda02a21f477
2026-09-14 10:48:47 -04:00

36 lines
860 B
TypeScript

import { describe, expect, it } from "vitest";
import { InMemorySettingsStorage, SettingsManager } from "../../../src/core/settings-manager.ts";
describe("regression #7572: nested provider retry settings merge", () => {
it("preserves global provider settings not overridden by the project", () => {
const storage = new InMemorySettingsStorage();
storage.withLock("global", () =>
JSON.stringify({
retry: {
provider: {
timeoutMs: 30000,
maxRetryDelayMs: 45000,
},
},
}),
);
storage.withLock("project", () =>
JSON.stringify({
retry: {
provider: {
maxRetries: 2,
},
},
}),
);
const settingsManager = SettingsManager.fromStorage(storage);
expect(settingsManager.getProviderRetrySettings()).toEqual({
timeoutMs: 30000,
maxRetries: 2,
maxRetryDelayMs: 45000,
});
});
});