Edit flow configured
This commit is contained in:
@@ -0,0 +1,80 @@
|
||||
import { describe, it, expect } from "vitest";
|
||||
import {
|
||||
mergeCompactCardIdsWithPinnedSelected,
|
||||
orderRankedMethodsWithPinnedSelection,
|
||||
} from "../../lib/create/methodCardDisplayOrder";
|
||||
|
||||
describe("orderRankedMethodsWithPinnedSelection", () => {
|
||||
const methods = [
|
||||
{ id: "a", rank: "top" },
|
||||
{ id: "b", rank: "mid" },
|
||||
{ id: "c", rank: "low" },
|
||||
];
|
||||
|
||||
it("returns ranked order when pinning is inactive", () => {
|
||||
expect(
|
||||
orderRankedMethodsWithPinnedSelection(methods, ["c", "b"], false),
|
||||
).toEqual(methods);
|
||||
});
|
||||
|
||||
it("returns ranked order when there are no selections", () => {
|
||||
expect(orderRankedMethodsWithPinnedSelection(methods, [], true)).toEqual(
|
||||
methods,
|
||||
);
|
||||
});
|
||||
|
||||
it("pins selected ids ahead of ranked tail while preserving ranking in each block", () => {
|
||||
expect(
|
||||
orderRankedMethodsWithPinnedSelection(methods, ["c", "a"], true),
|
||||
).toEqual([
|
||||
{ id: "c", rank: "low" },
|
||||
{ id: "a", rank: "top" },
|
||||
{ id: "b", rank: "mid" },
|
||||
]);
|
||||
});
|
||||
|
||||
it("dedupes repeated ids in the selection list", () => {
|
||||
expect(
|
||||
orderRankedMethodsWithPinnedSelection(methods, ["b", "b", "c"], true),
|
||||
).toEqual([
|
||||
{ id: "b", rank: "mid" },
|
||||
{ id: "c", rank: "low" },
|
||||
{ id: "a", rank: "top" },
|
||||
]);
|
||||
});
|
||||
});
|
||||
|
||||
describe("mergeCompactCardIdsWithPinnedSelected", () => {
|
||||
const showcaseOrder = ["x", "a", "b", "y", "c"];
|
||||
const baseCompact = ["a", "y", "b"];
|
||||
|
||||
it("delegates when pinning is inactive", () => {
|
||||
expect(
|
||||
mergeCompactCardIdsWithPinnedSelected(
|
||||
showcaseOrder,
|
||||
baseCompact,
|
||||
["x"],
|
||||
false,
|
||||
3,
|
||||
),
|
||||
).toEqual(["a", "y", "b"]);
|
||||
});
|
||||
|
||||
it("pads selected-first then facet-derived compact slots", () => {
|
||||
expect(
|
||||
mergeCompactCardIdsWithPinnedSelected(
|
||||
showcaseOrder,
|
||||
baseCompact,
|
||||
["c"],
|
||||
true,
|
||||
4,
|
||||
),
|
||||
).toEqual(["c", "a", "y", "b"]);
|
||||
});
|
||||
|
||||
it("fills remaining compact slots from showcase tail when facets run short", () => {
|
||||
expect(
|
||||
mergeCompactCardIdsWithPinnedSelected(showcaseOrder, [], ["x"], true, 3),
|
||||
).toEqual(["x", "a", "b"]);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user