import { DEFAULT_SERVER_SETTINGS, EnvironmentId, ProjectId } from "@t3tools/contracts";import { resolveProjectSettings } from "@t3tools/shared/projectSettings";import { describe, expect, it } from "vite-plus/test"; import { settingInheritanceLayers } from "./SettingInheritance"; const environmentId = EnvironmentId.make("laptop");const projectId = ProjectId.make("project"); describe("settingInheritanceLayers", () => { it("marks the built-in default effective when nothing is set", () => { const resolved = resolveProjectSettings(DEFAULT_SERVER_SETTINGS, null); const layers = settingInheritanceLayers( { environmentId, label: "Laptop", projectId: null, ...resolved }, DEFAULT_SERVER_SETTINGS, "defaultAutoPull", ); expect(layers.map((layer) => [layer.label, layer.value, layer.effective])).toEqual([ ["Laptop", "Off", false], ["Built-in default", "Off", true], ]); }); it("walks project override, environment value, then built-in default", () => { const settings = { ...DEFAULT_SERVER_SETTINGS, defaultAutoPull: true, projectSettingsOverrides: { [projectId]: { defaultAutoPull: false } }, }; const resolved = resolveProjectSettings(settings, projectId); const layers = settingInheritanceLayers( { environmentId, label: "Laptop", projectId, ...resolved }, settings, "defaultAutoPull", ); expect(layers.map((layer) => [layer.label, layer.value, layer.effective])).toEqual([ ["Project override", "Off", true], ["Laptop", "On", false], ["Built-in default", "Off", false], ]); const inherited = settingInheritanceLayers( { environmentId, label: "Laptop", projectId, ...resolveProjectSettings(settings, ProjectId.make("other")), }, settings, "defaultAutoPull", ); expect(inherited.map((layer) => [layer.value, layer.effective])).toEqual([ ["Inherits", false], ["On", true], ["Off", false], ]); });});
import { DEFAULT_SERVER_SETTINGS, EnvironmentId, ProjectId } from "@t3tools/contracts";
import { resolveProjectSettings } from "@t3tools/shared/projectSettings";
import { describe, expect, it } from "vite-plus/test";
import { settingInheritanceLayers } from "./SettingInheritance";
const environmentId = EnvironmentId.make("laptop");
const projectId = ProjectId.make("project");
describe("settingInheritanceLayers", () => {
it("marks the built-in default effective when nothing is set", () => {
const resolved = resolveProjectSettings(DEFAULT_SERVER_SETTINGS, null);
const layers = settingInheritanceLayers(
{ environmentId, label: "Laptop", projectId: null, ...resolved },
DEFAULT_SERVER_SETTINGS,
"defaultAutoPull",
);
expect(layers.map((layer) => [layer.label, layer.value, layer.effective])).toEqual([
["Laptop", "Off", false],
["Built-in default", "Off", true],
]);
});
it("walks project override, environment value, then built-in default", () => {
const settings = {
...DEFAULT_SERVER_SETTINGS,
defaultAutoPull: true,
projectSettingsOverrides: { [projectId]: { defaultAutoPull: false } },
};
const resolved = resolveProjectSettings(settings, projectId);
const layers = settingInheritanceLayers(
{ environmentId, label: "Laptop", projectId, ...resolved },
settings,
"defaultAutoPull",
);
expect(layers.map((layer) => [layer.label, layer.value, layer.effective])).toEqual([
["Project override", "Off", true],
["Laptop", "On", false],
["Built-in default", "Off", false],
]);
const inherited = settingInheritanceLayers(
{
environmentId,
label: "Laptop",
projectId,
...resolveProjectSettings(settings, ProjectId.make("other")),
},
settings,
"defaultAutoPull",
);
expect(inherited.map((layer) => [layer.value, layer.effective])).toEqual([
["Inherits", false],
["On", true],
["Off", false],
]);
});
});