testes unitários

This commit is contained in:
2025-04-19 12:39:50 +01:00
parent 891607c39c
commit 7ff4dcfa72
3 changed files with 72 additions and 3 deletions

View File

@ -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()

View File

@ -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__":

View File

@ -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()