-- ============================================================
--  EggChecker — USUARIO Y DATOS DE PRUEBA
--  Ejecutar DESPUÉS de eggchecker_schema.sql.
--
--  Crea dos cuentas listas para probar el API:
--    · demo@eggchecker.test     / Test1234!   (plan premium → IA incluida)
--    · basico@eggchecker.test   / Test1234!   (plan gratuito → límites)
--
--  Incluye datos mínimos (camada, insumo, cliente, stock) para ejercitar
--  los módulos de Producción, Camadas, Inventario y Ventas.
-- ============================================================

USE `eggchecker`;

SET FOREIGN_KEY_CHECKS = 0;
DELETE FROM `notificacion`       WHERE `id_usuario` IN (1, 2);
DELETE FROM `analisis_ia`        WHERE `id_usuario` IN (1, 2);
DELETE FROM `detalle_pedido`     WHERE `id_pedido` IN (SELECT `id_pedido` FROM `pedido` WHERE `id_usuario` IN (1, 2));
DELETE FROM `pedido`             WHERE `id_usuario` IN (1, 2);
DELETE FROM `cliente`            WHERE `id_usuario` IN (1, 2);
DELETE FROM `stock_produccion`   WHERE `id_usuario` IN (1, 2);
DELETE FROM `produccion_detalle` WHERE `id_produccion` IN (SELECT `id_produccion` FROM `produccion_diaria` WHERE `id_usuario` IN (1, 2));
DELETE FROM `produccion_diaria`  WHERE `id_usuario` IN (1, 2);
DELETE FROM `evento_sanitario`   WHERE `id_camada` IN (SELECT `id_camada` FROM `camada` WHERE `id_usuario` IN (1, 2));
DELETE FROM `camada`             WHERE `id_usuario` IN (1, 2);
DELETE FROM `movimiento_insumo`  WHERE `id_insumo` IN (SELECT `id_insumo` FROM `insumo` WHERE `id_usuario` IN (1, 2));
DELETE FROM `insumo`             WHERE `id_usuario` IN (1, 2);
DELETE FROM `token_recuperacion` WHERE `id_usuario` IN (1, 2);
DELETE FROM `usuario`            WHERE `id_usuario` IN (1, 2);
SET FOREIGN_KEY_CHECKS = 1;

-- ── Usuarios ────────────────────────────────────────────────
-- Hash bcrypt real de la contraseña: Test1234!
INSERT INTO `usuario`
  (`id_usuario`, `nombre_completo`, `correo_electronico`, `contrasena_hash`,
   `telefono`, `nombre_granja`, `plan_suscripcion`, `fecha_registro`, `activo`,
   `notif_produccion_baja`, `notif_stock_bajo`, `notif_vacunacion`, `notif_resumen_semanal`)
VALUES
  (1, 'Avi Cultor Demo',  'demo@eggchecker.test',   '$2y$12$8W23HN6bAvWqE.LMUxStUedretoylgby4M0nijfuPYBORh.pMbe1e',
   '3001234567', 'Granja Demo',   'premium',  CURDATE(), 1, 1, 1, 0, 1),
  (2, 'Avicultor Básico', 'basico@eggchecker.test', '$2y$12$8W23HN6bAvWqE.LMUxStUedretoylgby4M0nijfuPYBORh.pMbe1e',
   '3009876543', 'Granja Básica', 'gratuito', CURDATE(), 1, 1, 1, 0, 1);

-- ── Camadas ─────────────────────────────────────────────────
INSERT INTO `camada`
  (`id_camada`, `id_usuario`, `nombre_camada`, `fecha_ingreso`, `cantidad_inicial`,
   `cantidad_actual`, `estado`, `edad_semanas`)
VALUES
  (1, 1, 'Camada Demo Premium', CURDATE() - INTERVAL 200 DAY, 100, 98, 'activa', 34),
  (2, 2, 'Camada Demo Básica',  CURDATE() - INTERVAL 100 DAY, 60,  60, 'activa', 30);

-- ── Insumos ─────────────────────────────────────────────────
INSERT INTO `insumo`
  (`id_insumo`, `id_usuario`, `id_categoria`, `nombre_insumo`, `unidad_medida`,
   `stock_actual`, `umbral_minimo`, `costo_unitario`, `activo`, `descontinuado`)
VALUES
  (1, 1, 1, 'Concentrado Ponedora 16%', 'kg', 80.00, 20.00, 2200.00, 1, 0),
  (2, 2, 1, 'Maíz molido',              'kg', 15.00, 30.00, 1600.00, 1, 0);

-- ── Movimientos de insumo ───────────────────────────────────
INSERT INTO `movimiento_insumo`
  (`id_insumo`, `tipo_movimiento`, `cantidad`, `costo_unitario`, `observaciones`)
VALUES
  (1, 'entrada', 100.00, 2200.00, 'Stock inicial de prueba'),
  (2, 'entrada',  50.00, 1600.00, 'Stock inicial de prueba');

-- ── Stock de producción (huevos) ────────────────────────────
-- id_tipo: 1=AA 2=A 3=B 4=No_apto  ·  valor_unidad de referencia
INSERT INTO `stock_produccion`
  (`id_usuario`, `id_tipo`, `cantidad_actual`, `valor_unidad`)
VALUES
  (1, 1, 100, 400.00), (1, 2,  50, 280.00), (1, 3, 20, 160.00), (1, 4, 5, 100.00),
  (2, 1,   0, 400.00), (2, 2,   0, 280.00), (2, 3, 10, 160.00), (2, 4, 2, 100.00);

-- ── Clientes ────────────────────────────────────────────────
INSERT INTO `cliente`
  (`id_cliente`, `id_usuario`, `nombre_cliente`, `telefono`, `direccion`, `activo`)
VALUES
  (1, 1, 'Tienda La Cosecha',   '3204440011', 'Cra 3 # 8-15, Bogotá',   1),
  (2, 2, 'Minimercado El Trigo','3158881122', 'Av 68 # 22-10, Bogotá',  1);

-- ============================================================
-- Credenciales de prueba:
--   demo@eggchecker.test   / Test1234!   (premium)
--   basico@eggchecker.test / Test1234!   (gratuito)
-- ============================================================
