import { createClient } from '@supabase/supabase-js';
const URL = process.env.VITE_SUPABASE_URL || 'http://127.0.0.1:54321';
const ANON =
  process.env.VITE_SUPABASE_ANON_KEY || process.env.SUPABASE_ANON_KEY || '';
const REST = '11111111-1111-1111-1111-111111111111';
let fallos = 0;
const check = (c, m) => {
  console.log((c ? '  OK  ' : '  XX  ') + m);
  if (!c) fallos++;
};
const anon = createClient(URL, ANON, { auth: { persistSession: false } });
const { data: prods } = await anon.from('productos').select('id').eq('restaurante_id', REST).limit(1);
const { data: cr } = await anon.rpc('crear_pedido', {
  p_restaurante_id: REST,
  p_cliente_nombre: 'Ana Perez',
  p_cliente_telefono: '04141234567',
  p_tipo_entrega: 'pickup',
  p_metodo_pago: 'pago_movil',
  p_items: [{ producto_id: prods[0].id, cantidad: 2 }],
  p_cedula: 'V-20123456',
});
const { data: tk } = await anon.rpc('pedido_ticket', { p_pedido_id: cr[0].pedido_id });
const t = tk[0];
check(!!t.codigo && t.cliente_nombre === 'Ana Perez', 'Ticket con codigo y nombre: ' + t.codigo);
check(t.cliente_cedula === 'V-20123456', 'Ticket con cedula: ' + t.cliente_cedula);
check(Array.isArray(t.items) && t.items.length === 1 && t.items[0].cantidad === 2, 'Ticket con items: ' + JSON.stringify(t.items));
check(t.pago_estado === 'pendiente', 'Ticket con estado de pago: ' + t.pago_estado);
console.log('\n' + (fallos === 0 ? 'TICKET OK' : `${fallos} FALLO(S)`));
process.exit(fallos === 0 ? 0 : 1);
