import assert from 'node:assert/strict'; import test from 'node:test'; import { validateInventoryImageMetadata } from '../../src/modules/inventory/domain/inventory-image.js'; const validImage = { mimeType: 'image/jpeg', fileSize: 12000, width: 1200, height: 900, }; test('accepts supported image metadata within configured limits', () => { assert.equal(validateInventoryImageMetadata(validImage), true); }); test('rejects unsupported MIME types, oversized files, and oversized dimensions', () => { assert.throws( () => validateInventoryImageMetadata({ ...validImage, mimeType: 'image/gif' }), (error) => error.code === 'IMAGE_MIME_TYPE_UNSUPPORTED', ); assert.throws( () => validateInventoryImageMetadata({ ...validImage, fileSize: 11 * 1024 * 1024 }), (error) => error.code === 'IMAGE_FILE_TOO_LARGE', ); assert.throws( () => validateInventoryImageMetadata({ ...validImage, width: 10001 }), (error) => error.code === 'IMAGE_DIMENSIONS_INVALID', ); });