import unittest import os from unittest.mock import patch from pruefmanager import PruefManager from Dateipruefer import DateiEntscheidung import sys sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))) class TestPruefManager(unittest.TestCase): def setUp(self): self.manager = PruefManager(plugin_pfad="/tmp") @patch("PyQt5.QtWidgets.QMessageBox.exec_", return_value=QMessageBox.Yes) def test_frage_datei_ersetzen(self, mock_msgbox): entscheidung = self.manager.frage_datei_ersetzen_oder_anhaengen("dummy.gpkg") self.assertEqual(entscheidung, DateiEntscheidung.ERSETZEN) @patch("PyQt5.QtWidgets.QMessageBox.exec_", return_value=QMessageBox.No) def test_frage_datei_anhaengen(self, mock_msgbox): entscheidung = self.manager.frage_datei_ersetzen_oder_anhaengen("dummy.gpkg") self.assertEqual(entscheidung, DateiEntscheidung.ANHAENGEN) @patch("PyQt5.QtWidgets.QMessageBox.exec_", return_value=QMessageBox.Cancel) def test_frage_datei_abbrechen(self, mock_msgbox): entscheidung = self.manager.frage_datei_ersetzen_oder_anhaengen("dummy.gpkg") self.assertEqual(entscheidung, DateiEntscheidung.ABBRECHEN) @patch("PyQt5.QtWidgets.QMessageBox.exec_", return_value=QMessageBox.Yes) def test_frage_temporär_verwenden_ja(self, mock_msgbox): self.assertTrue(self.manager.frage_temporär_verwenden()) @patch("PyQt5.QtWidgets.QMessageBox.exec_", return_value=QMessageBox.No) def test_frage_temporär_verwenden_nein(self, mock_msgbox): self.assertFalse(self.manager.frage_temporär_verwenden())