import { describe, expect, it } from "vitest"; import { moveTarget } from "./moveInList"; describe("moveTarget", () => { it("sends an item to the top, one up, one down, or to the bottom", () => { expect(moveTarget(2, 5, "top")).toBe(0); expect(moveTarget(2, 5, "up")).toBe(1); expect(moveTarget(2, 5, "down")).toBe(3); expect(moveTarget(2, 5, "bottom")).toBe(4); }); it("is null for a move that goes nowhere: the first up, the last down", () => { expect(moveTarget(0, 5, "top")).toBeNull(); expect(moveTarget(0, 5, "up")).toBeNull(); expect(moveTarget(4, 5, "down")).toBeNull(); expect(moveTarget(4, 5, "bottom")).toBeNull(); expect(moveTarget(0, 1, "down")).toBeNull(); }); it("is null for an index outside the list", () => { expect(moveTarget(-1, 5, "top")).toBeNull(); expect(moveTarget(5, 5, "up")).toBeNull(); }); });