- copiada a skill editar-por-voz e seus critérios para as skills do projeto - adaptada a skill editar-por-voz para usar o banco SQLite como fonte oficial - corrigida a cópia do JSON do tipo de vídeo para priorizar clipboard Unicode - criado carregador único do contexto de edição por voz a partir do SQLite - criada entrada para registrar planos no SQLite e reaproveitar o mesmo plano na aplicação - habilitado carregamento do plano editorial diretamente do SQLite na interface - corrigido o bloqueio visual da etapa de carregamento do plano salvo - configurado carregamento automático do plano salvo após selecionar a sequência - documentada a sequência como raiz de retomada do fluxo de edição - criada a estrutura local para análise de músicas instrumentais com Essentia Resumo: - 22 arquivos alterados - 11 novos - 11 modificados - 0 removidos 11 files changed, 270 insertions(+), 34 deletions(-) Arquivos: - .jhonny/analises.db - CONTEXT.md - code/cep-plugin/index.html - code/cep-plugin/main.js - code/engine/README.md - code/engine/aplicar_plano_de_edicao.py - code/engine/integracoes/audio/__init__.py - code/engine/persistencia/consultas.py - code/engine/requirements-audio.txt - code/engine/testes/test_consultas_de_persistencia.py - code/tests/cep-tipos-video-encoding.test.ts - code/.jhonny/ - code/engine/carregar_plano_de_edicao.py - code/engine/integracoes/audio/contratos.py - code/engine/integracoes/audio/modelos_de_analise_musical.py - code/engine/integracoes/audio/provider_de_analise_musical_essentia.py - code/engine/preparar_edicao_por_voz.py - code/engine/registrar_plano_de_edicao.py - code/engine/testes/test_analisador_de_musica_essentia.py - code/engine/testes/test_carregar_plano_de_edicao.py - code/engine/testes/test_registrar_plano_de_edicao.py - code/plugins/premiere-pro/skills/editar-por-voz/
38 lines
1.4 KiB
Python
38 lines
1.4 KiB
Python
"""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()
|