QA: Ověření voucheru v panelu moderátora
Checklist pro testery ověřování voucherů v panelu moderátora (větev feature/chk-523-voucher-verification, CHK-523). Cíl: ověřit, že moderátor zjistí platnost voucheru už během kvízu, ne až při zápisu výsledků. Referenční dokumentace: Vouchery, Průchod panelem krok za krokem.
Co se v tomto kole změnilo
Section titled “Co se v tomto kole změnilo”| Oblast | Změna |
|---|---|
| Hlavička panelu moderování | Nové tlačítko Ověřit voucher. Před startem události šedé s tooltipem, po startu otevře modál na zadání kódu. |
| Ověření voucheru | Ověřený voucher se nespotřebuje ani nikomu nerezervuje. Zůstává volný, dokud ho někdo neuplatní. |
| Krok Potvrzení | Přibyl blok Ověřené vouchery s tlačítkem Uplatnit u každého. U týmového voucheru je nutné vybrat tým. |
| Potvrzení výsledků | Pokud zbývají ověřené a neuplatněné vouchery, zobrazí se dialog s volbou Uplatnit a potvrdit nebo Ignorovat vouchery a potvrdit. |
| Hláška u neplatného voucheru | Ručně uplatněný voucher (stav Uplatněno bez skutečného uplatnění) hlásí „Voucher byl už uplatněný”, ne obecné „Voucher není platný”. |
| Kopírování kódu voucheru | Opraveno kopírování kliknutím na kód ve výpisu voucherů na nešifrovaném (http) spojení. |
| Sloupec Uplatněno ve výpisu voucherů | Ikona už není klikatelná, kliknutí dřív skončilo chybou 500. Detail uplatnění zůstává v tlačítku Uplatnění u řádku. |
Příprava testovacího prostředí
Section titled “Příprava testovacího prostředí”- Admin: https://admin.beta.chytrykviz.cz
- Moderátorský panel: odkaz z detailu události, nebo přímo
/moderator/quizz/{id} - Mailhog: http://159.89.0.170:8025/
Reset DB zajistí vývojář:
docker-compose exec fpm php artisan migrate:fresh --database=mysql --seed --env=testingPro scénáře níže potřebuješ:
- událost, která ještě nezačala, s přiřazeným moderátorem
- událost, která už začala, s přiřazeným moderátorem
- vouchery: platný obyčejný, platný týmový, expirovaný, a jeden ručně nastavený na stav Uplatněno bez skutečného uplatnění
SC-01 · Tlačítko Ověřit voucher před startem události
Section titled “SC-01 · Tlačítko Ověřit voucher před startem události”Příprava: Přihlášený moderátor, událost, která ještě nezačala.
- Otevři panel moderování této události.
- Ověřit: tlačítko Ověřit voucher v hlavičce je šedé, needá se kliknout.
- Najeď myší na tlačítko.
Očekávání:
- Tooltip hlásí, že voucher jde ověřit až po zahájení kvízu
- Kliknutí modál neotevře
SC-02 · Ověření platného voucheru po startu události
Section titled “SC-02 · Ověření platného voucheru po startu události”Příprava: Událost, která už začala. Platný obyčejný voucher.
- Otevři panel moderování této události.
- Klikni na Ověřit voucher.
- Ověřit: otevřel se modál s polem na kód.
- Zadej kód platného voucheru a potvrď.
Očekávání:
- Zelená hláška, že voucher je platný a uplatní se při zadání výsledků
- Modál se zavřel
- Voucher se nikde nespotřeboval, ve výpisu voucherů v administraci má stále stav Volný
- Otevři Ověřit voucher znovu a zadej stejný kód.
Očekávání:
- Ověření proběhne znovu bez chyby, nevznikne duplicitní záznam (ověříš v kroku Potvrzení, viz SC-04 — voucher je v bloku jen jednou)
SC-03 · Neplatný kód se hlásí v modálu
Section titled “SC-03 · Neplatný kód se hlásí v modálu”Příprava: Událost, která už začala. Expirovaný voucher a ručně uplatněný voucher (stav Uplatněno bez skutečného uplatnění, viz Příprava prostředí).
- Klikni na Ověřit voucher.
- Zadej kód, který neexistuje.
Očekávání:
- Chyba u pole s kódem, hláška o neexistujícím kódu
- Modál zůstal otevřený
- Zadej kód expirovaného voucheru.
Očekávání:
- Chyba u pole s datem expirace
- Zadej kód ručně uplatněného voucheru.
Očekávání:
- Hláška „Voucher byl už uplatněný.“, ne obecné „Voucher není platný.”
SC-04 · Blok Ověřené vouchery v kroku Potvrzení
Section titled “SC-04 · Blok Ověřené vouchery v kroku Potvrzení”Příprava: Událost po startu, ve které jsi přes SC-02 ověřil obyčejný voucher. Výsledky zapsané (alespoň dva týmy, jeden s bonusem).
- V panelu přejdi na krok Potvrzení.
- Otevři sekci Uplatnit voucher.
- Ověřit: je vidět žlutý blok Ověřené vouchery s kódem ověřeného voucheru.
- Klikni u něj na Uplatnit voucher.
Očekávání:
- Zelená hláška o uplatnění
- Voucher zmizel z bloku Ověřené vouchery
- Voucher přibyl v tabulce uplatněných voucherů výše
- V administraci má voucher stav Uplatněno
SC-05 · Týmový voucher vyžaduje výběr týmu i v bloku Ověřené vouchery
Section titled “SC-05 · Týmový voucher vyžaduje výběr týmu i v bloku Ověřené vouchery”Příprava: Událost po startu s ověřeným týmovým voucherem (SC-02, jen s týmovým voucherem), zapsané výsledky alespoň dvou týmů.
- V kroku Potvrzení otevři Uplatnit voucher.
- U týmového voucheru v bloku Ověřené vouchery nevybírej tým a klikni rovnou na Uplatnit voucher.
Očekávání:
- Hláška, že je nutné vybrat tým
- Voucher zůstává v bloku Ověřené vouchery
- Vyber tým a klikni na Uplatnit voucher znovu.
Očekávání:
- Uplatnění proběhne, voucher zmizí z bloku
SC-06 · Potvrzení výsledků s neuplatněnými ověřeními — uplatnit
Section titled “SC-06 · Potvrzení výsledků s neuplatněnými ověřeními — uplatnit”Příprava: Událost po startu s ověřeným, ale neuplatněným voucherem (SC-02, blok Ověřené vouchery v kroku Potvrzení stále obsahuje voucher). Výsledky zapsané.
- V kroku Potvrzení klikni na Potvrdit výsledky.
- Ověřit: dialog má jiný text než obvykle — jmenuje kód ověřeného voucheru a nabízí dvě tlačítka.
- Klikni na Uplatnit a potvrdit.
Očekávání:
- Výsledky se potvrdily, panel přešel na krok Hotovo
- Voucher je uplatněný, v administraci má stav Uplatněno
- Ve finančním souhrnu moderátora je voucher započítaný (viz existující QA Vouchery, SC-16)
SC-07 · Potvrzení výsledků s neuplatněnými ověřeními — ignorovat
Section titled “SC-07 · Potvrzení výsledků s neuplatněnými ověřeními — ignorovat”Příprava: Stejná jako SC-06, jiná událost/jiný voucher.
- V kroku Potvrzení klikni na Potvrdit výsledky.
- Klikni na Ignorovat vouchery a potvrdit.
Očekávání:
- Výsledky se potvrdily
- Voucher zůstal ve stavu Volný, nespotřeboval se
- Voucher lze uplatnit později na jiné události
SC-08 · Potvrzení bez ověřených voucherů se nezměnilo
Section titled “SC-08 · Potvrzení bez ověřených voucherů se nezměnilo”Příprava: Událost po startu bez jakéhokoli ověřeného voucheru, výsledky zapsané.
- V kroku Potvrzení klikni na Potvrdit výsledky.
Očekávání:
- Dialog vypadá jako dřív, bez zmínky o voucherech
- Jen jedno tlačítko na potvrzení
SC-09 · Voucher přestal platit mezi ověřením a potvrzením
Section titled “SC-09 · Voucher přestal platit mezi ověřením a potvrzením”Příprava: Událost po startu s ověřeným voucherem, který má max_redemptions = 1. Mezitím nech vývojáře voucher uplatnit na jiné události, nebo mu nastav expiraci do minulosti přes administraci.
- V kroku Potvrzení klikni na Potvrdit výsledky a zvol Uplatnit a potvrdit.
Očekávání:
- Chybová hláška jmenující kód voucheru a důvod
- Výsledky se nepotvrdily, panel zůstal na kroku Potvrzení
- Žádný jiný ověřený voucher z téže dávky se také neuplatnil (uplatní se všechny, nebo žádný)
SC-10 · Kopírování kódu voucheru na http adrese
Section titled “SC-10 · Kopírování kódu voucheru na http adrese”Příprava: Výpis voucherů otevřený na http adrese (ne https).
- Klikni na kód libovolného voucheru.
- Ověřit: objeví se potvrzení „Kód zkopírován”.
- Vlož obsah schránky do libovolného textového pole.
Očekávání:
- Vložil se přesně ten kód
- V konzoli prohlížeče není chyba
SC-11 · Ikona Uplatněno ve výpisu voucherů není klikatelná
Section titled “SC-11 · Ikona Uplatněno ve výpisu voucherů není klikatelná”Příprava: Výpis voucherů, alespoň jeden uplatněný voucher.
- Najeď myší na ikonu ve sloupci Uplatněno.
- Ověřit: tooltip s počtem uplatnění se zobrazí.
- Klikni na ikonu.
Očekávání:
- Nic se neotevře, stránka nespadne
- Detail uplatnění zůstává dostupný přes tlačítko Uplatnění u řádku (existující chování, viz QA Vouchery SC-14)
Regresní checklist
Section titled “Regresní checklist”Po testování výše ověřit, že tyto oblasti nespadly:
- Uplatnění voucheru přímo v kroku Potvrzení bez předchozího ověření (zadání kódu ručně) stále funguje
- Moderátorský panel projde celým krokem Potvrzení i bez jakéhokoli voucheru
- Finanční souhrn moderátora sedí u události bez voucherů i s uplatněným voucherem
- Admin, který potvrzuje výsledky za moderátora, vidí stejný dialog o ověřených voucherech
- Opětovné potvrzení už potvrzené události (přepočet odměny) se ověřenými vouchery nezasekne
- Výpis voucherů v administraci: filtrování, hledání a stránkování fungují jako dřív
Automatizované testy
Section titled “Automatizované testy”docker-compose exec fpm php artisan test tests/Feature/Vouchers/ --compactdocker-compose exec fpm php artisan test --filter=VoucherVerificationTest --compactdocker-compose exec fpm php artisan test --filter=VoucherVerifyActionTest --compactdocker-compose exec fpm php artisan test --filter=VoucherStepTest --compactdocker-compose exec fpm php artisan test --filter=AdminConfirmResultsTest --compactdocker-compose exec fpm php artisan test --filter=VoucherRedemptionsViewTest --compact