"""Testes do carregamento de planos de edição diretamente do SQLite.""" import json import tempfile import unittest from pathlib import Path from engine.carregar_plano_de_edicao import carregar from engine.persistencia import abrir_banco from engine.persistencia.repositorio_de_planos import RepositorioDePlanos, plano_de_dict class TesteCarregarPlanoDeEdicao(unittest.TestCase): """Garante que a interface receba o plano no contrato de aplicação.""" def test_carrega_plano_mais_recente_do_video(self): with tempfile.TemporaryDirectory() as pasta: banco = Path(pasta) / "analises.db" conexao = abrir_banco(banco) repositorio = RepositorioDePlanos(conexao) plano_id = repositorio.registrar_plano(plano_de_dict( {"source": "Sequência", "actions": [ {"kind": "cut", "start": 1, "end": 2, "reason": "repetição"}, ]}, video_id="video-1", tipo_de_video="depoimento", )) conexao.close() carregado = carregar(banco, video_id="video-1") self.assertEqual(carregado["plano_id"], plano_id) self.assertEqual(carregado["video_id"], "video-1") self.assertEqual(carregado["actions"][0]["kind"], "cut") self.assertEqual(carregado["actions"][0]["reason"], "repetição") if __name__ == "__main__": unittest.main()