'use strict';

const DuplicatedMenuError = require('../../api/errors/DuplicatedMenuError');

describe('DuplicatedMenuError', () => {
  it('es instancia de Error', () => {
    expect(new DuplicatedMenuError('msg')).toBeInstanceOf(Error);
  });

  it('asigna name, message y statusCode por defecto (400)', () => {
    const err = new DuplicatedMenuError('algo salió mal');
    expect(err.name).toBe('DuplicatedMenuError');
    expect(err.message).toBe('algo salió mal');
    expect(err.statusCode).toBe(400);
  });

  it('acepta statusCode personalizado', () => {
    expect(new DuplicatedMenuError('not found', 404).statusCode).toBe(404);
  });

  it('statusCode 500 para errores internos', () => {
    expect(new DuplicatedMenuError('fallo interno', 500).statusCode).toBe(500);
  });
});
