Projekt

Allmänt

Profil

Handlingar

Features #176

stängd
CA CA

Features #178: Samordning: generiska föreningsspecifika klippkort

Välj kompatibelt klippkort enligt giltighet och ålder

Features #176: Välj kompatibelt klippkort enligt giltighet och ålder

Tillagd av Codex API för 22 dagar sedan. Uppdaterad för 10 dagar sedan.

Status:
Closed
Prioritet:
Normal
Tilldelad:
Kategori:
Säkerhet och test
Startdatum:
2026-09-09
Deadline:
% Klart:

100%

Beräknad tid:
Risknivå:
Normal
Driftsättningspåverkan:
Ingen
Berörd miljö:
Ej tillämpligt
Regression krävs:
Nej
Reported by:
Benny Jensen

Beskrivning

Föreningen namnger egna korttyper, separata från artikelkategori. Artikelns accepterade korttyps-ID avgränsar urvalet inom samma förening. DoD: servern väljer endast kort som användaren får nyttja, med rätt typ, giltighet och tillräckligt saldo. Prioritera närmast sista giltighetsdag. Kort utan slutdatum kommer efter tidsbegränsade och sorteras på minst antal klipp kvar. Vid lika slutdatum används äldsta utfärdade kort; vid lika saldo bland kort utan slutdatum används äldsta utfärdade kort. Stabil ID-ordning som sista skiljeregel. Testa fel förening/typ/åtkomst, utgångna eller tomma kort, tidsbegränsade kontra obegränsade, olika saldon och lika värden. Förutsätter separat korttyps- och kortinstansmodell. Omfattar inte kortköp, avräkningstransaktion, giltighetspolicy eller fördelning mellan flera kort.


Acceptanskriterier

Läsande kortval för ägarens aktiva konto, rätt förening/artikelkoppling, giltighet och tillräckligt saldo. Prioritering och isolering verifieras i isolerad MariaDB-CI. Inga saldoändringar. Delad åtkomst #191 och köpflöde #186 separat.


Testresultat

PASS 2026-09-21, commit 1638102: exakt nollsaldo hoppas över; lika slutdatum och lika obegränsat saldo prioriterar äldsta issued_at före ID. Isolerad CI: 87/659 och MariaDB 185/3391; Vite PASS.

CA Uppdaterad av Codex API för 22 dagar sedan Handlingar #1

Nytt användarbeslut ersätter tidigare åldersprioritering för kort utan slutdatum: välj i första hand det kort som har minst antal klipp kvar. Ålder används endast som skiljeregel vid lika saldo.

CA Uppdaterad av Codex API för 22 dagar sedan Handlingar #2

  • Förälderaktivitet satt till #178

CA Uppdaterad av Codex API för 21 dagar sedan Handlingar #3

  • Kategori satt till Säkerhet och test
  • Status ändrad från New till In progress
  • Tilldelad satt till Codex API
  • Versionsmål satt till 0.4 - Konto och historik
  • % Klart ändrad från 0 till 40
  • Acceptanskriterier uppdaterad (skillnader)
  • Driftsättningspåverkan satt till Ingen

CA Uppdaterad av Codex API för 21 dagar sedan Handlingar #4

Implementerat läsande CardSelection::forArticle för ägda kort. Serverkontroll av aktivt konto, förening/artikel/typ, aktivering, exklusiv giltighetsgräns och tillräckligt saldo; deterministisk prioritering och inga kortskrivningar. Inaktiv korttyp stoppar inte nyttjande. Ingen saldoaggregation. CI PASSED 87bf6ebafe46cb85e4da5c38b526e3f2cc2a2860, körning i1sbV8: 83 unit/612 assertions + 85 MariaDB integration/1787 assertions. Dokumentation docs/architecture/card-selection-176.md. Initialt testfel i snapshot-avgränsning korrigerat. Ingen driftsättning eller inkoppling i checkout. Delad åtkomst #191 och debitering/zero-balance-schema #186 återstår.

CA Uppdaterad av Codex API för 21 dagar sedan Handlingar #5

  • Status ändrad från In progress till Resolved
  • % Klart ändrad från 40 till 70

CA Uppdaterad av Codex API för 21 dagar sedan Handlingar #6

  • Status ändrad från Resolved till Verification
  • % Klart ändrad från 70 till 80

CA Uppdaterad av Codex API för 10 dagar sedan Handlingar #7

  • Status ändrad från Verification till In progress
  • % Klart ändrad från 80 till 40

CA Uppdaterad av Codex API för 10 dagar sedan Handlingar #8

  • Status ändrad från In progress till Resolved
  • % Klart ändrad från 40 till 70
  • Testresultat uppdaterad (skillnader)

Kompletterande acceptansverifiering genomförd för #176. Testet skapar kort i motsatt ID- och tidsordning och verifierar därmed uttryckligen att äldsta issued_at prioriteras före ID både vid lika slutdatum och vid lika saldo på kort utan slutdatum. Ett kort debiteras därefter till exakt noll och verifieras bli överhoppat till förmån för nästa giltiga kort. Commit 1638102cf16e380b2cfb66d55fd1d185827b185f. Isolerad CI PASS: 87 tester/659 assertions samt 185 MariaDB-integrationstester/3391 assertions; Vite byggd. Artefakt: /home/bj/.local/share/foreningskiosk-ci/runs/1638102cf16e380b2cfb66d55fd1d185827b185f.Orsumb/release.tar.gz. Ingen driftsättning eller produktionsdata ändrades.

CA Uppdaterad av Codex API för 10 dagar sedan Handlingar #9

  • Status ändrad från Resolved till Verification
  • % Klart ändrad från 70 till 80

CA Uppdaterad av Codex API för 10 dagar sedan Handlingar #10

  • Status ändrad från Verification till Ready for deploy
  • % Klart ändrad från 80 till 90

CA Uppdaterad av Codex API för 10 dagar sedan Handlingar #11

  • Status ändrad från Ready for deploy till Done
  • % Klart ändrad från 90 till 100

CA Uppdaterad av Codex API för 10 dagar sedan Handlingar #12

  • Status ändrad från Done till Closed
Handlingar

Finns även som: PDF Atom