This commit is contained in:
@@ -48,3 +48,19 @@ test('moves an image through the owned atomic repository operation', async () =>
|
||||
await assert.rejects(() => service.move({ imageId: 'missing', direction: 'down', sellerId: 'seller-1' }), { code: 'IMAGE_NOT_FOUND' });
|
||||
await assert.rejects(() => service.move({ imageId: 'owned', direction: 'left', sellerId: 'seller-1' }), { code: 'IMAGE_MOVE_INVALID' });
|
||||
});
|
||||
|
||||
test('validates image updates before persistence and normalizes valid alt text', async () => {
|
||||
const { service, calls } = createService();
|
||||
for (const sortOrder of [undefined, null, -1, 0.5, '1', NaN, Infinity, 2147483648]) {
|
||||
await assert.rejects(() => service.updateOrder({ imageId: 'image-1', sortOrder, sellerId: 'seller-1' }), { code: 'IMAGE_ORDER_INVALID' });
|
||||
}
|
||||
for (const altText of [undefined, 123, {}, [], 'x'.repeat(1001)]) {
|
||||
await assert.rejects(() => service.updateAltText({ imageId: 'image-1', altText, sellerId: 'seller-1' }), { code: 'IMAGE_ALT_TEXT_INVALID' });
|
||||
}
|
||||
assert.deepEqual(calls, []);
|
||||
await service.updateOrder({ imageId: 'image-1', sortOrder: 2147483647, sellerId: 'seller-1' });
|
||||
for (const [input, expected] of [[' Front ', 'Front'], [' ', ''], [null, null], ['x'.repeat(1000), 'x'.repeat(1000)]]) {
|
||||
const result = await service.updateAltText({ imageId: 'image-1', altText: input, sellerId: 'seller-1' });
|
||||
assert.equal(result.altText, expected);
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user