# PR#900: Hinweis auf auslaufende SEPA-Mandate ## Relevante Links (Hostsharing-intern) - Taiga-Story: https://plan.example.org/us/900 ## Das Problem Ein SEPA-Mandat läuft ab, ohne dass die Verwaltung es merkt. Danach scheitert die nächste Lastschrift. ## Die Szenarien ### Feature: Auslaufende SEPA-Mandate anzeigen #### Background - Ein Mandat *läuft aus*, wenn sein Gültigkeitsende in den nächsten 30 Tagen liegt. #### Scenario#900.01: Ein auslaufendes Mandat erscheint in der Liste … damit die Verwaltung rechtzeitig ein neues Mandat einholt. - **Given** ein Mandat, dessen Gültigkeitsende in 10 Tagen liegt - **and** ein Mandat, das noch ein Jahr gilt - **When** die Verwaltung `GET /api/hs/office/sepamandates?expiring=true` aufruft - **Then** antwortet die API mit `200 OK` und die Liste enthält nur das erste Mandat ##### Verified by - [HsOfficeScenarioTests.shouldListExpiringMandates](../../src/test/java/HsOfficeScenarioTests.java) #### Scenario: Ein abgelaufenes Mandat erscheint nicht - **Given** ein Mandat, dessen Gültigkeitsende gestern war - **When** die Verwaltung die auslaufenden Mandate abfragt - **Then** fehlt das Mandat in der Liste ##### Verified by - [HsOfficeScenarioTests.shouldNotListExpiredMandates](../../src/test/java/HsOfficeScenarioTests.java) Text nach Verified by gehört dem Generator. ## Die Lösung Die Abfrage filtert nach `validity`: ```sql ## Not a heading #### Scenario#900.99: not a scenario either select * from hs_office.sepamandate; ``` #### Hinweis zur Zeitzone Das Gültigkeitsende zählt in der Zeitzone Europe/Berlin. ## Anhänge