Files
community-rule/tests/unit/reorderCustomMethodCardFieldBlocks.test.ts
2026-05-07 21:15:27 -06:00

34 lines
1.1 KiB
TypeScript

import { describe, expect, it } from "vitest";
import { reorderCustomMethodCardFieldBlocks } from "../../lib/create/reorderCustomMethodCardFieldBlocks";
describe("reorderCustomMethodCardFieldBlocks", () => {
it("returns a new array with the item moved forward", () => {
const blocks = ["a", "b", "c"];
expect(reorderCustomMethodCardFieldBlocks(blocks, 0, 2)).toEqual([
"b",
"c",
"a",
]);
expect(blocks).toEqual(["a", "b", "c"]);
});
it("returns a new array with the item moved backward", () => {
expect(
reorderCustomMethodCardFieldBlocks(["a", "b", "c"], 2, 0),
).toEqual(["c", "a", "b"]);
});
it("returns a shallow copy when from and to are equal", () => {
const blocks = ["a", "b"];
const next = reorderCustomMethodCardFieldBlocks(blocks, 1, 1);
expect(next).toEqual(blocks);
expect(next).not.toBe(blocks);
});
it("returns a copy when indices are out of range", () => {
const blocks = ["a"];
expect(reorderCustomMethodCardFieldBlocks(blocks, -1, 0)).toEqual(["a"]);
expect(reorderCustomMethodCardFieldBlocks(blocks, 0, 5)).toEqual(["a"]);
});
});