import { completarImagenesItems } from './imagenes-items';

describe('completarImagenesItems', () => {
  it('completa sólo los ítems sin imagen con la imagen actual del producto', async () => {
    const consulta = jest.fn().mockResolvedValue([
      { id: 'p1', path: 'productos/p1/a.webp' },
      { id: 'p2', path: null },
    ]);
    const pedido1 = [{ id: 'p1', imageUrl: '' }, { id: 'p3', imageUrl: 'https://x/ya.webp' }];
    const pedido2 = [{ id: 'p2', imageUrl: '' }];
    await completarImagenesItems(consulta as any, [pedido1, pedido2]);
    expect(consulta.mock.calls[0][1]).toEqual(['p1', 'p2']);
    expect(pedido1[0].imageUrl).toMatch(/productos\/p1\/a\.webp$/);
    expect(pedido1[1].imageUrl).toBe('https://x/ya.webp');
    expect(pedido2[0].imageUrl).toBe('');
  });

  it('no consulta si todos tienen imagen', async () => {
    const consulta = jest.fn();
    await completarImagenesItems(consulta as any, [[{ id: 'p1', imageUrl: 'https://x/a.webp' }]]);
    expect(consulta).not.toHaveBeenCalled();
  });
});
