refactoring dos testes para o modulo 'copier.py'
This commit is contained in:
@ -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("*")) == []
|
||||||
|
|||||||
Reference in New Issue
Block a user