import pytest from modules.organizer import ( categorizar_por_tipo, criar_pasta_destino, obter_data_ficheiro, ) from datetime import datetime @pytest.mark.parametrize( "ficheiro, esperado", [ ("foto.jpeg", "imagem"), ("documento.docx", "documento"), ("video.mp4", "video"), ("musica.mp3", "audio"), ("ficheiro.xyz", "outros"), ], ) def test_categorizar_por_tipo(ficheiro, esperado): assert categorizar_por_tipo(ficheiro) == esperado def test_obter_data_ficheiro(tmp_path): ficheiro = tmp_path / "teste.txt" ficheiro.write_text("conteudo") # teste data de modificação data_mod = obter_data_ficheiro(str(ficheiro), usar_criacao=False) assert isinstance(data_mod, datetime) # testar data de criação data_criacao = obter_data_ficheiro(str(ficheiro), usar_criacao=True) assert isinstance(data_criacao, datetime) def test_criar_pasta_destino(tmp_path): pasta = criar_pasta_destino(str(tmp_path), "documento") assert pasta.exists() assert pasta.is_dir() pasta_com_data = criar_pasta_destino( str(tmp_path), "imagem", datetime.now(), "%Y-%m-%d" ) assert pasta_com_data.exists() assert pasta_com_data.is_dir()