Tests überarbeitet, Mocks und coverage eingefügt

This commit is contained in:
2025-12-17 17:45:18 +01:00
parent 2d67ce8adc
commit f64d56d4bc
17 changed files with 562 additions and 201 deletions

View File

@@ -1,5 +1,6 @@
from PyQt5.QtWidgets import QMessageBox, QFileDialog
from Dateipruefer import DateiEntscheidung
#Pruefmanager.py
from modules.qt_compat import QMessageBox, QFileDialog, YES, NO, CANCEL, ICON_QUESTION, exec_dialog
from modules.Dateipruefer import DateiEntscheidung
class PruefManager:
@@ -8,40 +9,40 @@ class PruefManager:
self.plugin_pfad = plugin_pfad
def frage_datei_ersetzen_oder_anhaengen(self, pfad: str) -> DateiEntscheidung:
"""Fragt den Nutzer, ob die vorhandene Datei ersetzt, angehängt oder abgebrochen werden soll."""
msg = QMessageBox()
msg.setIcon(QMessageBox.Question)
msg.setIcon(ICON_QUESTION)
msg.setWindowTitle("Datei existiert")
msg.setText(f"Die Datei '{pfad}' existiert bereits.\nWas möchtest du tun?")
msg.setStandardButtons(QMessageBox.Yes | QMessageBox.No | QMessageBox.Cancel)
msg.setDefaultButton(QMessageBox.Yes)
msg.button(QMessageBox.Yes).setText("Ersetzen")
msg.button(QMessageBox.No).setText("Anhängen")
msg.button(QMessageBox.Cancel).setText("Abbrechen")
result = msg.exec_()
msg.setStandardButtons(YES | NO | CANCEL)
msg.setDefaultButton(YES)
if result == QMessageBox.Yes:
msg.button(YES).setText("Ersetzen")
msg.button(NO).setText("Anhängen")
msg.button(CANCEL).setText("Abbrechen")
result = exec_dialog(msg)
if result == YES:
return DateiEntscheidung.ERSETZEN
elif result == QMessageBox.No:
elif result == NO:
return DateiEntscheidung.ANHAENGEN
else:
return DateiEntscheidung.ABBRECHEN
def frage_temporär_verwenden(self) -> bool:
"""Fragt den Nutzer, ob mit temporären Layern gearbeitet werden soll."""
msg = QMessageBox()
msg.setIcon(QMessageBox.Question)
msg.setIcon(ICON_QUESTION)
msg.setWindowTitle("Temporäre Layer")
msg.setText("Kein Speicherpfad wurde angegeben.\nMit temporären Layern fortfahren?")
msg.setStandardButtons(QMessageBox.Yes | QMessageBox.No)
msg.setDefaultButton(QMessageBox.Yes)
result = msg.exec_()
return result == QMessageBox.Yes
msg.setStandardButtons(YES | NO)
msg.setDefaultButton(YES)
result = exec_dialog(msg)
return result == YES
def waehle_dateipfad(self, titel="Speicherort wählen", filter="GeoPackage (*.gpkg)") -> str:
"""Öffnet einen QFileDialog zur Dateiauswahl."""
pfad, _ = QFileDialog.getSaveFileName(
parent=None,
caption=titel,