refactoring dos testes para o modulo 'copier.py'

This commit is contained in:
2025-04-22 21:51:27 +01:00
parent 715f429425
commit 7796040d64

View File

@ -1,23 +1,54 @@
from os import name
import shutil
import pytest import pytest
from modules.copier import copiar_ficheiros_para_destino from modules.copier import copiar_ficheiros_para_destino
from modules.organizer import categorizar_por_tipo, obter_data_ficheiro
def test_copiar_ficheiros_para_destino(tmp_path): @pytest.fixture
origem = tmp_path / "origem" def ficheiro_teste(tmp_path):
ficheiro = tmp_path / "teste.txt"
ficheiro.write_text("conteudo de teste")
return ficheiro
def test_copiar_ficheiros_para_destino_simples(tmp_path, ficheiro_teste):
destino = tmp_path / "destino" destino = tmp_path / "destino"
origem.mkdir()
destino.mkdir() destino.mkdir()
ficheiro = origem / "foto.jpg" copiar_ficheiros_para_destino([str(ficheiro_teste)], str(destino))
ficheiro.write_text("conteudo")
lista_ficheiros = [str(ficheiro)] # verificar se foi copiado para a pasta 'outros'
ficheiro_copiado = destino / "outros" / ficheiro_teste.name
assert ficheiro_copiado.exists()
assert ficheiro_copiado.read_text() == "conteudo de teste"
def test_copiar_ficheiros_para_destino_com_data_modificacao(tmp_path, ficheiro_teste):
destino = tmp_path / "destino"
destino.mkdir()
copiar_ficheiros_para_destino( copiar_ficheiros_para_destino(
lista_ficheiros, str(destino), categorizar_data=False) [str(ficheiro_teste)],
str(destino),
categorizar_data=True,
usar_criacao=False,
formato_data="%Y-%m-%d",
)
# verificar se ficheiro foi copiar categoria = categorizar_por_tipo(str(ficheiro_teste))
ficheiro_destino = destino / "imagem" / ficheiro.name data_dir = obter_data_ficheiro(
assert ficheiro_destino.exists() str(ficheiro_teste), False).strftime("%Y-%m-%d")
assert ficheiro_destino.read_text() == "conteudo" ficheiro_copiado = destino / categoria / data_dir / ficheiro_teste.name
assert ficheiro_copiado.exists()
assert ficheiro_copiado.read_text() == "conteudo de teste"
def test_copiar_ficheiros_para_destino_lista_ficheiros_vazia(tmp_path):
destino = tmp_path / "destino"
destino.mkdir()
copiar_ficheiros_para_destino([], str(destino))
# verifica se a pasta de destino ficou vazia
assert list(destino.glob("*")) == []