import pytest from modules.organizer import ( categorizar_por_tipo, criar_pasta_destino, obter_data_ficheiro, ) from datetime import datetime # import tempfile # class TestOrganizer(unittest.TestCase): # def test_categorizar_por_tipo(self): # self.assertEqual(categorizar_por_tipo("imagem.jpg"), "imagem") # self.assertEqual(categorizar_por_tipo("documento.pdf"), "documento") # self.assertEqual(categorizar_por_tipo("video.mp4"), "video") # self.assertEqual(categorizar_por_tipo("ficheiro.zip"), "outros") # self.assertEqual(categorizar_por_tipo("audio.mp3"), "audio") # # def test_criar_pasta_destino(self): # with tempfile.TemporaryDirectory() as tmp_dir: # path = criar_pasta_destino(tmp_dir, "imagem") # self.assertTrue(path.exists()) # self.assertTrue(path.is_dir()) # # def test_obter_data_ficheiro(self): # with tempfile.NamedTemporaryFile() as tmp_file: # data_mod = obter_data_ficheiro(tmp_file.name, usar_criacao=False) # self.assertIsInstance(data_mod, datetime) # # # if __name__ == "__main__": # unittest.main() @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()