diff --git a/tests/test_copier.py b/tests/test_copier.py index e69de29..61d5276 100644 --- a/tests/test_copier.py +++ b/tests/test_copier.py @@ -0,0 +1,28 @@ +import unittest +import tempfile +from pathlib import Path +from modules.copier import copiar_ficheiros_para_destino + + +class TestCopier(unittest.TestCase): + def setUp(self) -> None: + self.origem = tempfile.TemporaryDirectory() + self.destino = tempfile.TemporaryDirectory() + (Path(self.origem.name) / "teste.txt").write_text("conteudo") + + def tearDown(self) -> None: + self.origem.cleanup() + self.destino.cleanup() + + def test_copiar_ficheiros_para_destino(self): + ficheiros = [str(f) for f in Path(self.origem.name).iterdir()] + copiar_ficheiros_para_destino( + ficheiros, self.destino.name, categorizar_data=False + ) + copiados = list(Path(self.destino.name).rglob("teste.txt")) + self.assertEqual(len(copiados), 1) + self.assertTrue(copiados[0].exists()) + + +if __name__ == "__main__": + unittest.main() diff --git a/tests/test_organizer.py b/tests/test_organizer.py index 23ba808..0b0c50e 100644 --- a/tests/test_organizer.py +++ b/tests/test_organizer.py @@ -1,6 +1,11 @@ import unittest -from organizer import categorizar_por_tipo -from pathlib import Path +import tempfile +from datetime import datetime +from modules.organizer import ( + categorizar_por_tipo, + criar_pasta_destino, + obter_data_ficheiro, +) class TestOrganizer(unittest.TestCase): @@ -8,7 +13,18 @@ class TestOrganizer(unittest.TestCase): 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"), "outro") + self.assertEqual(categorizar_por_tipo("ficheiro.zip"), "outros") + + 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__": diff --git a/tests/test_scanner.py b/tests/test_scanner.py index e69de29..12fe2f4 100644 --- a/tests/test_scanner.py +++ b/tests/test_scanner.py @@ -0,0 +1,25 @@ +import unittest +import tempfile +from pathlib import Path +from modules.scanner import listar_ficheiros + + +class TestScanner(unittest.TestCase): + def setUp(self) -> None: + # criar derectorio temporario + self.temp_dir = tempfile.TemporaryDirectory() + (Path(self.temp_dir.name) / "teste.txt").touch() + (Path(self.temp_dir.name) / "imagem.jpg").touch() + + def tearDown(self) -> None: + self.temp_dir.cleanup() + + def test_listar_ficheiros(self): + ficheiros = listar_ficheiros(self.temp_dir.name) + self.assertEqual(len(ficheiros), 2) + for f in ficheiros: + self.assertTrue(Path(f).exists()) + + +if __name__ == "__main__": + unittest.main()