feat: initial commit - Carinha Control Panel v1.0 com UI glassmorphism, watch-bar, emojis, braco robotico e conversa IA

This commit is contained in:
julio
2026-10-05 16:21:57 -03:00
commit 8217292893
114 changed files with 13145 additions and 0 deletions
+30
View File
@@ -0,0 +1,30 @@
import unittest,tempfile
from pathlib import Path
from treinamento import Treinamento,validar_receita
class TestTreinamento(unittest.TestCase):
def test_automatico_so_gera_apos_hora_com_atividade_nova(self):
with tempfile.TemporaryDirectory() as d:
t=Treinamento(Path(d)/'treino.db',iniciar=False);inicio=t.last
with t.db() as db:db.execute("INSERT INTO config VALUES ('automatico','true')")
calls=[];t.gerar=lambda:calls.append(True)
self.assertFalse(t.verificar_hora(inicio+3601))
t.registrar('user','Uma nova conversa')
self.assertFalse(t.verificar_hora(inicio+3599))
self.assertTrue(t.verificar_hora(inicio+3601))
self.assertFalse(t.verificar_hora(inicio+7202))
self.assertEqual(len(calls),1)
def test_receita_rejeita_codigo_e_movimentos_fora_limite(self):
step=dict(olhos='feliz',boca='sorriso',cor='#5cd6ff',dx=0,dy=0,escala=1,duracao=.5)
recipe=dict(nome='Alegria',motivo='Conquista',simbolo='estrela',legenda='Boa!',passos=[step])
self.assertEqual(validar_receita(recipe)['nome'],'Alegria')
with self.assertRaises(ValueError):validar_receita(dict(recipe,codigo='alert(1)'))
step['dx']=1000
with self.assertRaises(ValueError):validar_receita(recipe)
def test_rotina_diario_persistem(self):
with tempfile.TemporaryDirectory() as d:
t=Treinamento(Path(d)/'treino.db',iniciar=False)
t.rotina('Gosto de música');t.registrar('user','Ouvi uma música')
saved=Treinamento(Path(d)/'treino.db',iniciar=False).status()
self.assertEqual(saved['rotina'][0]['texto'],'Gosto de música')
self.assertEqual(saved['diario'][0]['texto'],'Ouvi uma música')