Features #230
stängdFeatures #178: Samordning: generiska föreningsspecifika klippkort
Features #186: Avräkna klipp atomärt för valda deltagare
Inför transaktionssäker databasgrund för klippavdrag
100%
Beskrivning
En migration efter 016 utökar klipphistoriken med negativa avdrag kopplade till en avslutad köprad inom samma förening. En historikpost uppdaterar saldo/revision atomärt; direkt saldoändring, negativt saldo, dubbelt avdrag per köprad och ändring/radering av historik stoppas. Köp- och kortvillkor förblir oföränderliga. Verifiera färsk migration, uppgradering med befintliga kort, rollback av transaktion samt parallella SQL-avdrag i isolerad MariaDB. Scope: endast databasgrund, inga deltagarnamn, nya rättigheter, checkout, delning, rättelser eller driftsättning. Följande applikationssteg ansvarar för autentisering, artikelkrav, giltighet, deltagarbehörighet och idempotent HTTP-svar.
Acceptanskriterier
Migration och isolerade MariaDB-tester visar atomär historik/saldo, unik källrad, inga negativa saldon, tenant-FK, oföränderliga kortvillkor samt bevarade befintliga rader vid uppgradering. Ingen acceptansaktivering.
Testresultat
PASS: migration 017, rollback och konkurrerande avdrag verifierades i isolerad MariaDB för 820e45a (88 integrationstester/1822 assertions i ursprunglig leverans). Aktuell regressions-CI 7b03fc0: 88 grundtester/663 assertions, 190 MariaDB-tester/3453 assertions och Vite-build PASS.