hopps-app / hopps

Hopps wird eine cloudbasierte Open Source Buchhaltungssoftware mit AI, damit Vereine mehr Zeit für ihre wesentlichen Ziele und Angebote haben und frustrierte Situationen mit der Buchhaltung der Vergangenheit angehören.
MIT License
15 stars 0 forks source link

Testdaten für Org Service #141

Open d135-1r43 opened 1 week ago

d135-1r43 commented 1 week ago

User-Story

Als Entwickler möchte ich sinnvolle und konsistente Testdaten im org Service zur Verfügung haben, um eine effiziente und realitätsnahe Entwicklung sicherzustellen.

Akzeptanzkriterien

  1. Automatische Bereitstellung der Testdaten

    • Testdaten werden automatisch beim Start des org Service geladen, ohne dass ein manueller Import notwendig ist. Dazu wird eine import.sql verwendet, wie in der Quarkus-Dokumentation zur Hibernate-ORM beschrieben.
  2. Testdaten im Produktionsprofil

    • Die Testdaten sind auch im Produktionsprofil (prod-Profil) verfügbar, um konsistente Daten in allen Umgebungen sicherzustellen, die nicht auf eine spezifische Entwicklungsumgebung beschränkt sind.
  3. Einheitliche Testdaten für Unit-Tests

    • Dieselben Testdaten werden auch in den Unittests verwendet, um eine einheitliche Basis für alle Tests zu gewährleisten und die Wartbarkeit der Tests zu verbessern.
  4. Kompatibilität der Keycloak-Testdaten

    • Der Dev Service für Keycloak startet ebenfalls mit vorab konfigurierten Testdaten, die mit den Testdaten des org Service kompatibel sind. Dadurch ist die Authentifizierung in der Entwicklungsumgebung reibungslos und konsistent.
schitcrafter commented 1 week ago

Zu 2.: Soll dafür extra Funktionalität bereit stehen, um das Einspielen der Daten einfacher zu machen, oder ist es okay wenn der Prozess ein wenig umständlicher ist (z.B. sql-Skript in der Datenbank ausführen lassen)?

3thr3n commented 1 week ago

Vorschlag: Können wir das nicht über Flyway regeln? Ein Ordner in den Resourcen für Testdaten flyway migrationen? Dann kann man diesen mit ausgeben und wenn man möchte passt man den key quarkus.flyway.locations an und inkludiert den ordner.