Skip to content

QA: Vouchery

Checklist pro testery voucherového modulu (větev feature/voucher_update). Cíl: ověřit přestavěné stránky administrace, dávkový generátor, tiskové šablony a export do PDF před merge na dev. Referenční dokumentace: Vouchery.


Bylo Je
/voucher otevřel formulář na nový voucher /voucher otevře přehled voucherů
Formulář, výpis a šablony jako tři karty jedné stránky Karty jen dvě: Přehled a Šablony
Nový voucher jako karta Samostatná stránka z tlačítka Nový voucher v hlavičce
Dávka jako režim téhož formuláře (pole „Počet voucherů”) Samostatná stránka Dávkový generátor z hlavičky
/voucher/list Přesměruje na /voucher
  1. Dávkový generátor má dva sloupce – nastavení vlevo, vygenerované kódy vpravo.
  2. Editace šablony se přesunula z modálu na stránku rozvržení – název, obrázek i pozice polí na jednom místě nad živým náhledem. Modál otevíral prázdný upload, takže vypadalo, že šablona obrázek nemá.
  3. Sloupec Uplatněno je ikona, ne číslo. Ikona sama není klikatelná, jen ukáže stav na první pohled a v tooltipu počet. Přehled uplatnění (kvíz, tým, moderátor, čas, poznámka) otevře tlačítko Uplatnění u řádku. Dřív se uplatnění daly číst jen z moderátorského panelu.
  4. Změna tiskové šablony je součástí akce Upravit, ne vlastní akce u řádku. U uplatněného nebo expirovaného voucheru je pole zamčené.
  5. PDF jde stáhnout přímo z řádku, nejen hromadnou akcí.
  6. Kopírování kódu je nativní funkce tabulky, s ikonou a popiskem. Funguje i na nešifrovaném (http) spojení.
  7. Smazání šablony hlásí výsledek – dřív šablona zmizela beze slova.
  8. Validace u pole, ne hláškou nad stránkou – obsazený kód i snížení limitu pod počet uplatnění.
  9. Sloupce Pro a Šablona se přesunuly před Expiraci.

Reset DB zajistí vývojář:

Terminal window
docker-compose exec fpm php artisan migrate:fresh --database=mysql --seed --env=testing

Pro scénáře s tiskem si připrav libovolný obrázek na šířku, ideálně poměrem stran jako skutečný voucher (například 1600 × 800 px).


SC-01 · Přehled je vstupní stránka modulu

Section titled “SC-01 · Přehled je vstupní stránka modulu”

Příprava: Přihlášený uživatel s oprávněním na modul Vouchery.

  1. V menu klikni na Vouchery.
  2. Ověřit: otevře se seznam voucherů, ne formulář.

Očekávání:

Prvek Stav
Karty Přehled (aktivní), Šablony
Tlačítka v hlavičce Dávkový generátor, Nový voucher
Karta „Nový” nebo „Výpis” Neexistuje
  1. Otevři přímo adresu /voucher/list.
  2. Ověřit: prohlížeč skončí na /voucher s přehledem.

Příprava: Otevřený přehled voucherů.

  1. Klikni na Nový voucher.
  2. Ověřit: otevřela se samostatná stránka bez karet, s tlačítkem Zpět.
  3. Ověřit: kód je předvyplněný osmi znaky.
  4. Klikni na ikonu regenerace vedle kódu.
  5. Ověřit: kód se změnil.
  6. Vyplň Typ, Omezení na typ eventu, Max. počet uplatnění a Poznámku.
  7. Klikni na Vytvořit voucher.

Očekávání:

  • Vrátíš se na přehled voucherů
  • Nahoře zelená hláška o vytvoření
  • Nový voucher je v seznamu, stav Volný
  • Ve formuláři nebyla pole Počet voucherů ani Prefix kódu

Příprava: Existuje voucher s kódem obsazeny.

  1. Otevři Nový voucher.
  2. Do pole Kód napiš obsazeny.
  3. Klikni na Vytvořit voucher.

Očekávání:

Test Výsledek
Chybová hláška U pole Kód, červeně
Červená lišta nad stránkou Nezobrazí se
Zbytek formuláře Zůstal vyplněný
Přesměrování na přehled Neproběhne

Příprava: Otevřený přehled voucherů.

  1. Klikni na Dávkový generátor.
  2. Ověřit: stránka má dva sloupce, vlevo nastavení, vpravo kódy.
  3. Nastav Počet voucherů na 5.
  4. Ověřit: vpravo se objevilo pět kódů.
  5. Do Prefixu kódu napiš chk-qa a klikni mimo pole.
  6. Ověřit: kódy se přegenerovaly do tvaru chk-qa-xxxx-001 až chk-qa-xxxx-005.
  7. Ověřit: pod polem s prefixem je text o tom, kolik voucherů pod prefixem existuje a od jakého čísla dávka naváže.
  8. Přepiš druhý kód v seznamu ručně na moje-vlastni-cislo.
  9. Klikni na Vygenerovat vouchery.

Očekávání:

  • Zelená hláška „Bylo vytvořeno 5 voucherů.”
  • Formulář se vyprázdnil a připravil další dávku
  • V přehledu je pět nových voucherů
  • Ručně přepsaný kód zůstal přesně moje-vlastni-cislo, nepřečísloval se

SC-05 · Navazující číslování prefixu

Section titled “SC-05 · Navazující číslování prefixu”

Příprava: Proběhlo SC-04, pod prefixem chk-qa existuje pět voucherů.

  1. Otevři Dávkový generátor.
  2. Nastav počet na 3 a prefix chk-qa.
  3. Ověřit: text pod prefixem hlásí, že vouchery pod prefixem už existují a dávka naváže dalším číslem.
  4. Klikni na Vygenerovat vouchery.

Očekávání:

  • Nové kódy pokračují v číslování, nezačínají znovu od 001
  • Žádné číslo se neopakuje s předchozí dávkou

Příprava: Existují vouchery pod prefixy chk-qa a jiné vouchery bez prefixu.

  1. V přehledu otevři filtr Prefix.
  2. Vyber chk-qa.

Očekávání:

  • V seznamu jsou jen vouchery začínající chk-qa-
  • Rozepsaný text ve filtru sám o sobě nefiltruje, filtr se uplatní až výběrem ze seznamu

Příprava: Otevřená karta Šablony.

  1. Klikni na Vytvořit šablonu.
  2. Zadej název a nahraj obrázek.
  3. Ulož.
  4. Ověřit: rovnou se otevřel editor rozvržení.
  5. Ověřit: v editoru je vidět nahraný obrázek.
  6. Ověřit: vpravo je sekce Šablona s vyplněným názvem a s nahraným obrázkem, ne prázdný upload.

Očekávání:

  • Šablona má výchozí pole s kódem voucheru
  • Na kartě Šablony je v seznamu náhled obrázku, ne prázdné místo

Příprava: Existující šablona, otevřený editor přes akci Upravit.

  1. Přetáhni pole s kódem myší jinam.
  2. Ověřit: pole se posunulo a text se překreslil.
  3. Vyber pole kliknutím a stiskni šipku doleva.
  4. Ověřit: pole se posunulo o desetinu procenta.
  5. Podrž Shift a stiskni šipku doleva.
  6. Ověřit: pole se posunulo o celé procento.
  7. Táhni za úchyt na pravém okraji pole.
  8. Ověřit: pole se rozšířilo a písmo se přizpůsobilo šířce.
  9. Přidej pole QR kód a Platnost.
  10. Ověřit: tlačítko pro už přidaný typ pole zešedlo.
  11. Změň název šablony.
  12. Klikni na Uložit šablonu.

Očekávání:

  • Vrátíš se na knihovnu šablon
  • Zelená hláška o uložení
  • Změněný název je v seznamu
  • Po opětovném otevření editoru sedí pozice polí tak, jak jsi je nechal

Příprava: Šablona s rozmístěnými poli.

  1. Otevři editor šablony.
  2. V sekci Šablona nahraj jiný obrázek, ideálně s jiným rozlišením.
  3. Ulož.
  4. Otevři editor znovu.

Očekávání:

  • Je vidět nový obrázek
  • Pole zůstala na stejných relativních pozicích, rozvržení se nerozhodilo
  1. Otevři editor a beze změny obrázku změň jen název.
  2. Ulož a otevři znovu.

Očekávání:

  • Původní obrázek zůstal, nezmizel ani se nenahradil

Příprava: Existuje šablona a alespoň tři vouchery, které ji mají přiřazenou, a jeden voucher bez šablony.

  1. V přehledu zaškrtni vouchery se šablonou.
  2. Spusť hromadnou akci Exportovat do PDF.
  3. Ověřit: stáhne se soubor vouchery-<datum>.pdf.
  4. Otevři PDF.

Očekávání:

  • Vouchery jsou pod sebou na A4 na výšku
  • Kód, platnost a QR sedí tam, kde jsi je v editoru umístil
  • QR kód po naskenování obsahuje kód voucheru
  1. Zaškrtni i voucher bez šablony a export zopakuj.

  2. Ověřit: hláška o tom, kolik voucherů bylo vynecháno, a v PDF ten voucher není.

  3. U jednoho voucheru se šablonou použij akci Stáhnout PDF přímo v řádku.

  4. Ověřit: stáhne se PDF s jediným voucherem.

  5. Ověřit: u voucheru bez šablony se akce Stáhnout PDF vůbec nenabízí.


Příprava: Šablona obsahuje pole Platnost. Voucher s touto šablonou nemá vyplněnou expiraci.

  1. Otevři formulář voucheru s touto šablonou a nevyplněnou expirací.
  2. Ověřit: u pole Expirace je upozornění, že šablona tiskne platnost a bez vyplnění zůstane místo prázdné.
  3. Voucher vytiskni do PDF.

Očekávání:

  • Zobrazí se oranžové upozornění o prázdném poli
  • V PDF je na místě platnosti volné místo, ne text jako null nebo pomlčka

SC-12 · Úprava voucheru a změna šablony

Section titled “SC-12 · Úprava voucheru a změna šablony”

Příprava: Neuplatněný voucher.

  1. V řádku klikni na Upravit.

  2. Ověřit: v modálu je i pole Tisková šablona.

  3. Ověřit: u řádku není samostatná akce na změnu šablony.

  4. Změň šablonu a ulož.

  5. Ověřit: ve sloupci Šablona je nová hodnota.

  6. Otevři úpravu u uplatněného nebo expirovaného voucheru.

  7. Ověřit: pole Tisková šablona je zamčené s vysvětlením.


SC-13 · Limit uplatnění nejde snížit pod skutečnost

Section titled “SC-13 · Limit uplatnění nejde snížit pod skutečnost”

Příprava: Voucher s maximem 5 uplatnění, z toho 3 už uplatněná (uplatni je přes moderátorský panel, viz SC-15).

  1. Otevři Upravit.
  2. Ověřit: pod polem Max. počet uplatnění je poznámka, že nejméně 3, tolikrát už byl uplatněn.
  3. Nastav hodnotu na 1 a ulož.

Očekávání:

Test Výsledek
Chyba U pole Max. počet uplatnění
Modál Zůstal otevřený
Hodnota v databázi Nezměnila se, v přehledu je stále 5

SC-14 · Sloupec Uplatněno a přehled uplatnění

Section titled “SC-14 · Sloupec Uplatněno a přehled uplatnění”

Příprava: Jeden voucher neuplatněný, jeden částečně uplatněný (max 3, uplatněno 1) a jeden vyčerpaný.

  1. Podívej se na sloupec Uplatněno.

Očekávání:

Voucher Ikona
Neuplatněný Křížek, šedý
Částečně uplatněný Fajfka, oranžová
Vyčerpaný Dvojitá fajfka, zelená
  1. Najeď myší na ikonu částečně uplatněného voucheru.
  2. Ověřit: popisek ukazuje počet ve tvaru „Uplatněno 1x z 3”.
  3. Ověřit: kliknutí na ikonu nic neotevře, ikona slouží jen ke čtení stavu.
  4. U stejného řádku klikni na tlačítko Uplatnění.

Očekávání:

  • Otevřel se přehled uplatnění
  • U každého záznamu je název kvízu, tým, kdo uplatnění zapsal a kdy
  • Pokud byla u uplatnění poznámka, je vidět
  1. Ověřit: u neuplatněného voucheru se tlačítko Uplatnění u řádku nenabízí.

Příprava: Platný voucher a událost s alespoň dvěma týmy s výsledky.

  1. Otevři moderátorský panel události.
  2. Projdi na krok Potvrzení.
  3. Zadej kód voucheru a vyber tým.

Očekávání:

  • Zelená hláška o uplatnění
  • Voucher se objeví v seznamu uplatnění u události
  • V administraci se stav voucheru změnil a ikona ve sloupci Uplatněno se překlopila
  1. Zkus uplatnit stejný kód znovu nad rámec limitu.

  2. Ověřit: systém ho odmítne.

  3. Vytvoř voucher pouze pro speciály a zkus ho uplatnit na standardním kvízu.

  4. Ověřit: systém ho odmítne.

  5. Vytvoř voucher s expirací v minulosti a zkus ho uplatnit.

  6. Ověřit: systém ho odmítne.


SC-16 · Voucher ve financích moderátora

Section titled “SC-16 · Voucher ve financích moderátora”

Příprava: Událost s uplatněným voucherem, výsledky zadané.

  1. V moderátorském panelu se podívej na finanční souhrn.

  2. Ověřit: pod částkou Vybráno je řádek se sumou uplatněných voucherů.

  3. Potvrď výsledky.

  4. Ověřit: v kroku Hotovo souhrn drží stejné hodnoty, částka Poslat Chytrému Kvízu je o voucher nižší.

  5. Zopakuj s voucherem typu Tým.

  6. Ověřit: částka odpovídá startovnému vynásobenému počtem hráčů týmu, ne jednomu hráči.


Příprava: Otevřený přehled voucherů, na https i na http adrese.

  1. Najeď myší na kód voucheru.
  2. Ověřit: u kódu je ikona kopírování a popisek „Kliknutím zkopíruješ kód”.
  3. Klikni na kód.
  4. Ověřit: objeví se potvrzení „Kód zkopírován”.
  5. Vlož obsah schránky do libovolného textového pole.
  6. Ověřit: vložil se přesně ten kód.

Příprava: Šablona, kterou používá alespoň jeden voucher, a šablona, kterou nepoužívá nikdo.

  1. U nepoužívané šablony klikni na Smazat.
  2. Ověřit: potvrzovací dialog říká, že šablonu nepoužívá žádný voucher.
  3. Potvrď.

Očekávání:

  • Šablona zmizela ze seznamu
  • Zobrazila se hláška o smazání, ne tichý zánik
  1. U používané šablony klikni na Smazat.
  2. Ověřit: dialog uvádí počet voucherů, které ji používají.
  3. Potvrď.
  4. Ověřit: dotčené vouchery mají ve sloupci Šablona prázdno a akce Stáhnout PDF se u nich už nenabízí.

Příprava: Otevřený přehled voucherů.

Očekávání: sloupce jdou v tomto pořadí:

Pořadí Sloupec
1 Kód
2 Stav
3 Typ
4 Typ eventu
5 Max. uplatnění
6 Uplatněno
7 Pro
8 Šablona
9 Expirace
10 Poznámka

Sloupce Hodnota/hráč a Vytvořeno jsou skryté a jdou zapnout přepínačem sloupců.


Po testování výše ověřit, že tyto oblasti nespadly:

  • Moderátorský panel projde celým krokem Potvrzení i bez voucheru (tlačítko Přeskočit)
  • Finanční souhrn moderátora sedí i u události zcela bez voucherů
  • Hromadné akce Změnit šablonu a Smazat vybrané fungují na výběru desítek řádků
  • Hledání v přehledu funguje podle kódu i podle jména příjemce
  • Filtry Stav a Typ vrací správný výběr
  • Stránkování přehledu funguje a nezalamuje se
  • Nahrání šablony přes výběr ve formuláři voucheru uloží šablonu i do knihovny
  • Editor rozvržení otevřený z formuláře voucheru nenabízí změnu názvu ani obrázku
  • Uživatel bez oprávnění na modul Vouchery se na stránky nedostane

Terminal window
docker-compose exec fpm php artisan test tests/Feature/Vouchers/ --compact
docker-compose exec fpm php artisan test --filter=VoucherCreationSplitTest --compact
docker-compose exec fpm php artisan test --filter=VoucherRowActionsTest --compact
docker-compose exec fpm php artisan test --filter=VoucherInlineValidationTest --compact
docker-compose exec fpm php artisan test --filter=VoucherRedemptionsViewTest --compact
docker-compose exec fpm php artisan test --filter=VoucherTemplateEditTest --compact