Files
hyperframes/packages/studio/src/components/editor/propertyPanelValueTier.test.ts
T

33 lines
1.2 KiB
TypeScript

import { describe, expect, it } from "vitest";
import {
resolveValueTier,
VALUE_TIER_LABEL_CLASS,
VALUE_TIER_VALUE_CLASS,
} from "./propertyPanelValueTier";
describe("resolveValueTier", () => {
it("is 'default' when there is no explicit declaration", () => {
expect(resolveValueTier(undefined, "400")).toBe("default");
expect(resolveValueTier("", "400")).toBe("default");
});
it("is 'explicitDefault' when the explicit value equals the default", () => {
expect(resolveValueTier("400", "400")).toBe("explicitDefault");
expect(resolveValueTier(" normal ", "normal")).toBe("explicitDefault");
});
it("is 'explicitCustom' when the explicit value differs from the default", () => {
expect(resolveValueTier("3.96px", "0px")).toBe("explicitCustom");
});
});
describe("value tier class maps", () => {
it("covers all three tiers for both label and value", () => {
for (const tier of ["default", "explicitDefault", "explicitCustom"] as const) {
expect(VALUE_TIER_LABEL_CLASS[tier]).toBeTruthy();
expect(VALUE_TIER_VALUE_CLASS[tier]).toBeTruthy();
}
expect(VALUE_TIER_VALUE_CLASS.explicitCustom).toBe("text-panel-accent");
});
});