Files
dtic-DIIAA/adn/tools/spec/db/evento_spec.rb
T
Ricardo Monla cfd0e8452a [ADN] Fase 10: Saneamiento y Consolidación - Un solo punto de verdad
- S1: Eliminar 'triggers' duplicado en run (líneas 109/131)
- S2: Eliminar cli/commit.rb (truncado, sin uso)
- S3: Eliminar cli/inicio.rb y cli/cierre.rb (legacy, jornada.rb los reemplaza)
- S4: Mover 4 planes obsoletos de docs/plan/adn/ a docs/_hist/plan/adn/
- S5: Mover 14 backups de planes y 3 docs técnicos a docs/_hist/
- S6: Eliminar manifiesto vacío P2604_proyecto_p2604.md
- S7: Corregir referencia a plan obsoleto en run
- S8: Dejar de cargar core/validador.rb obsoleto en run
- S9: Limpiar progreso duplicado en P2604_mejoras_ADN.md
- Agregar Fase 10 al plan P2604 con 10 tareas
- Un solo punto de verdad: adn/README.md
- Un solo plan: docs/proy/p2604_mejoras_ADN/P2604_mejoras_ADN.md
- Registro en bitácora: evento 1073
2026-03-15 14:33:32 -03:00

42 lines
1.1 KiB
Ruby

# encoding: utf-8
# evento_spec.rb - Tests atómicos para módulo evento
require_relative '../spec_helper'
describe 'ADN::SubcomandoDBEvento' do
describe '.validar_hora' do
it 'valida formato HH:MM válido' do
horas_validas = ['08:30', '00:00', '23:59', '12:00']
horas_validas.each do |hora|
expect(validar_formato_hora(hora)).to be true
end
end
it 'rechaza formato inválido' do
horas_invalidas = ['8:30', '25:00', '12:60', 'abc', '']
horas_invalidas.each do |hora|
expect(validar_formato_hora(hora)).to be false
end
end
end
describe '.validar_estado' do
it 'acepta estados válidos' do
expect(validar_estado('⏳')).to be true
expect(validar_estado('✅')).to be true
expect(validar_estado('❌')).to be true
end
end
end
def validar_formato_hora(hora)
return false if hora.nil? || hora.empty?
match = hora.match(/^(\d{2}):(\d{2})$/)
return false unless match
hora_i, min = match[1].to_i, match[2].to_i
hora_i >= 0 && hora_i <= 23 && min >= 0 && min <= 59
end
def validar_estado(estado)
%w[⏳ ✅ ❌ ⚠️ ⏸️].include?(estado)
end