14 lines
779 B
JavaScript
14 lines
779 B
JavaScript
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' });
|
|
});
|