"""Testes da entrada de planos de edição no banco SQLite.""" import json import tempfile import unittest from pathlib import Path from engine.persistencia import EdicaoDeVideo, RepositorioDeEdicoes, abrir_banco from engine.registrar_plano_de_edicao import registrar class TesteRegistrarPlanoDeEdicao(unittest.TestCase): """Garante que o plano é associado ao contexto editorial mais recente.""" def test_registra_plano_e_descobre_video_pela_origem(self): with tempfile.TemporaryDirectory() as pasta: banco = Path(pasta) / "analises.db" conexao = abrir_banco(banco) RepositorioDeEdicoes(conexao).registrar(EdicaoDeVideo( video_id="video-1", sequencia="Depoimento", origem="/v.mp4", tipo_de_video="depoimento", configuracao={"legendas": True}, )) conexao.close() arquivo = Path(pasta) / "plano.json" arquivo.write_text(json.dumps({ "source": "/v.mp4", "actions": [{"kind": "cut", "start": 1, "end": 2}], }), encoding="utf-8") plano_id = registrar(arquivo, banco, tipo_de_video="depoimento") conexao = abrir_banco(banco) linha = conexao.execute( "SELECT video_id, tipo_de_video FROM planos_de_edicao WHERE id = ?", (plano_id,), ).fetchone() conexao.close() self.assertEqual(dict(linha), {"video_id": "video-1", "tipo_de_video": "depoimento"}) if __name__ == "__main__": unittest.main()