diff --git a/tests/test_copier.py b/tests/test_copier.py index 71854bf..ee372b9 100644 --- a/tests/test_copier.py +++ b/tests/test_copier.py @@ -1,23 +1,54 @@ +from os import name +import shutil import pytest - 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): - origem = tmp_path / "origem" +@pytest.fixture +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" - origem.mkdir() destino.mkdir() - ficheiro = origem / "foto.jpg" - ficheiro.write_text("conteudo") + copiar_ficheiros_para_destino([str(ficheiro_teste)], str(destino)) - 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( - 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 - ficheiro_destino = destino / "imagem" / ficheiro.name - assert ficheiro_destino.exists() - assert ficheiro_destino.read_text() == "conteudo" + categoria = categorizar_por_tipo(str(ficheiro_teste)) + data_dir = obter_data_ficheiro( + str(ficheiro_teste), False).strftime("%Y-%m-%d") + 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("*")) == []