import assert from 'node:assert/strict'; import test from 'node:test'; import { moveImageInOrder } from '../../src/modules/inventory/domain/image-order.js'; test('moves one image next to its neighbor without changing the input order', () => { const images = [{ id: 'a' }, { id: 'b' }, { id: 'c' }]; assert.deepEqual(moveImageInOrder(images, 'b', 'up').map(({ id }) => id), ['b', 'a', 'c']); assert.deepEqual(moveImageInOrder(images, 'b', 'down').map(({ id }) => id), ['a', 'c', 'b']); assert.deepEqual(images.map(({ id }) => id), ['a', 'b', 'c']); assert.equal(moveImageInOrder(images, 'a', 'up'), images); assert.equal(moveImageInOrder(images, 'c', 'down'), images); assert.throws(() => moveImageInOrder(images, 'a', 'left'), { code: 'IMAGE_MOVE_INVALID' }); });