QA: E-shop
Checklist pro testery e-shopu (větev refactoring/novyweb/comgate). Cíl: projít celou cestu zboží od košíku přes platbu a zásilku až k vrácení peněz, a to jak očima zákazníka, tak očima obsluhy v administraci. Referenční dokumentace: Pokladna, Objednávky, Zásilky, Vrácení a reklamace, Nastavení e-shopu.
Co se v tomto kole změnilo
Section titled “Co se v tomto kole změnilo”| Oblast | Změna |
|---|---|
| Pokladna | Čtyři kroky: košík → doprava a platba → fakturační údaje → shrnutí. Doprava a platba se přesunuly před údaje zákazníka. |
| Doprava | Nabídka se filtruje podle doručovací země a podle typů zboží v košíku. Výdejní místo Zásilkovny se vybírá už v tomhle kroku. |
| Fakturační údaje | Přepínače Nakupuji na firmu (IČO, DIČ, načtení z ARESu) a Doručit na jinou adresu. |
| Platby | Napojená brána Comgate, přesměrování z košíku, PUSH notifikace o zaplacení, vratky na kartu. |
| Zásilky | Nová sekce E-shop → Zásilky, automatické zakládání u Zásilkovny, štítky jednotlivě i hromadně, PUSH tracking + hodinový sync. |
| Vrácení | Nová sekce E-shop → Vrácení a reklamace, zákazník případ zakládá sám ve svém účtu, zpětná zásilka a podací heslo vznikají hned. |
| Objednávky v adminu | Přestavěný seznam i detail, změna stavu je samostatná akce s přepínačem e-mailu, úprava objednávky ve formuláři. |
| Párování plateb | Objednávky placené převodem se páruji samy podle variabilního symbolu (= číslo objednávky), i po částech. |
| Nastavení | Nová záložka Systémová nastavení → E-shop: fakturační společnost, koeficient hmotnosti, formát štítku, přepínač platby kartou jen pro adminy, stav napojení Comgate a Zásilkovny. |
| Zrušeno | Koncept více obchodů (shops). E-shop je jeden, fakturuje se pod jednou společností. |
Příprava testovacího prostředí
Section titled “Příprava testovacího prostředí”- Web: https://beta.chytrykviz.cz
- Admin: https://admin.beta.chytrykviz.cz
- Mailhog: http://159.89.0.170:8025/
Reset DB zajistí vývojář:
docker-compose exec fpm php artisan migrate:fresh --database=mysql --seed --env=testingPřed testováním ať vývojář potvrdí, že:
- Comgate běží v testovacím režimu (viditelné v Systémová nastavení → E-shop),
- Zásilkovna má vyplněné
PACKETA_API_KEY,PACKETA_API_PASSWORD,PACKETA_ESHOP,PACKETA_HD_SHIPPER_IDaPACKETA_WEBHOOK_SIGNING_KEY, - v administraci je vybraná fakturační společnost.
Zboží, které je potřeba mít založené: aspoň jeden fyzický produkt s variantami a hmotností, jeden fyzický produkt bez variant se slevou, jeden digitální produkt. Dopravci: Zásilkovna na výdejní místo, Zásilkovna domů, osobní odběr (jen fyzické zboží), doprava pro digitální zboží. Platební metody: karta (Comgate), převod, dobírka.
Zákaznický flow
Section titled “Zákaznický flow”ES-01 · Výpis a detail produktu
Section titled “ES-01 · Výpis a detail produktu”Příprava: Žádná, testuje se jako nepřihlášený návštěvník.
- Otevři
/shop. - Ověřit: produkty jsou seřazené podle pole Pozice (nižší číslo dřív).
- Klikni na produkt se slevou.
- Ověřit: je vidět původní i zlevněná cena a cena odpovídá slevě spočítané z ceny bez DPH plus daň.
- Otevři produkt s variantami.
Očekávání:
| Prvek | Stav |
|---|---|
| Popis, specifikace, štítky | Zobrazí se to, co je vyplněné v adminu |
| Galerie | Obrázky v pořadí nahrání, první jako hlavní |
| Výběr varianty | Změní cenu o Změnu ceny varianty |
| Sekce dalších produktů | Nezobrazuje právě otevřený produkt |
Neexistující zkratka /shop/produkt/neexistuje |
404 |
ES-02 · Košík
Section titled “ES-02 · Košík”Příprava: Prázdný košík.
- Otevři
/shop/kosik. - Ověřit: stránka se vykreslí i s prázdným košíkem, žádné přesměrování na výpis.
- Přidej produkt bez varianty a Ověřit: ikona košíku v hlavičce ukazuje počet položek.
- Přidej stejný produkt ve dvou různých variantách.
- Ověřit: jsou to dvě samostatné položky, každá se svým názvem varianty.
- Zvyš množství tlačítkem plus až nad stav skladu.
- Ověřit: hláška „Zadaný počet ks není skladem.“, množství se nezvýší.
- Sniž množství na 1 a zkus snížit ještě jednou.
Očekávání:
- Pod 1 kus množství nejde, položka se tlačítkem minus nesmaže
- Mezisoučet, DPH a celková částka sedí na součet položek
- Košík přežije zavření a znovuotevření stránky
- Odebrání poslední položky vrátí prázdný košík, ne chybu
ES-03 · Doprava a platba — filtrování nabídky
Section titled “ES-03 · Doprava a platba — filtrování nabídky”Příprava: V košíku jeden fyzický produkt.
- Přejdi na Doprava a platba.
- Ověřit: nabídnou se jen dopravci s Aktivní zapnuto, kteří vozí do ČR a umí fyzické zboží.
- Přepni doručovací zemi na Slovensko.
- Ověřit: nabídka se zúží na dopravce se SK v poli Doručovací země (a na ty, kdo mají pole prázdné).
- Vrať se do košíku a přidej digitální produkt.
- Vrať se na Doprava a platba.
Očekávání:
| Situace | Výsledek |
|---|---|
| Košík = fyzické + digitální zboží | Nabídnou se jen dopravci, kteří umí obojí |
| Košík obsahuje jen digitální zboží | Nabídne se doprava povolená pro Digitálně |
| Žádný dopravce nevyhovuje | Nabídka je prázdná, dál se nedá pokračovat |
| Dopravce s prázdným polem typů | Nabízí se vždy (bez omezení) |
| DPH u dopravy | Odpovídá nejvyšší sazbě zboží v košíku |
ES-04 · Zrušení volby dopravy po změně košíku nebo země
Section titled “ES-04 · Zrušení volby dopravy po změně košíku nebo země”Příprava: V košíku fyzický produkt, vybraná Zásilkovna na výdejní místo včetně pobočky.
- Změň doručovací zemi na takovou, kam zvolený dopravce nevozí.
- Ověřit: červená hláška „Zvolená doprava do vybrané země nevozí, vyberte prosím jinou.“, volba dopravy i výdejního místa je zrušená.
- Vyber dopravce znovu, vrať se do košíku a přidej zboží typu, které tenhle dopravce nedoveze.
- Vrať se na Doprava a platba.
Očekávání:
- Hláška „Zvolená doprava neveze všechno zboží z košíku, vyberte prosím jinou.”
- Doprava zmizela i z rekapitulace ceny v košíku
- Tlačítko dál nepustí, dokud není vybraná jiná doprava
ES-05 · Výdejní místo Zásilkovny
Section titled “ES-05 · Výdejní místo Zásilkovny”Příprava: V košíku fyzický produkt.
- Vyber dopravce se způsobem doručení Zásilkovna (výdejní místo).
- Ověřit: sám od sebe se otevře widget s výběrem pobočky.
- Zavři widget bez výběru a zkus pokračovat dál.
- Ověřit: hláška „Zvolte prosím výdejní místo”, krok se neposune.
- Vyber pobočku.
- Ověřit: u dopravce se ukáže její název (dotažený ze Zásilkovny, ne jen číslo).
- Odejdi na jinou stránku a vrať se zpět na Doprava a platba.
- Ověřit: vybraná pobočka i její název zůstaly.
- Přepni na dopravce Zásilkovna (Doručení domů).
Očekávání:
- U doručení domů se výdejní místo nevybírá a předchozí volba se zahodí
- Přepnutí na osobní odběr taky pobočku zahodí
- Neplatné číslo pobočky (vývojář ho podstrčí do requestu) skončí hláškou „Zvolené výdejní místo není platné.”
ES-06 · Fakturační údaje — fyzická osoba
Section titled “ES-06 · Fakturační údaje — fyzická osoba”Příprava: Vybraná doprava i platba.
- Otevři krok Fakturační údaje.
- Ověřit: doručovací země je předvyplněná z předchozího kroku.
- Ulož prázdný formulář.
- Ověřit: chybová hláška u validace, krok se neposune.
- Vyplň jméno, příjmení, e-mail, telefon, ulici, město, PSČ a ulož.
Očekávání:
| Test | Výsledek |
|---|---|
| Neplatný e-mail | Uložení odmítnuto |
| Přihlášený zákazník s vyplněným profilem | Formulář předvyplněný z profilu |
| Druhá objednávka téhož zákazníka | Předvyplní se znovu z profilu, ne z předchozí objednávky |
| Krok zpět ze shrnutí | Vrátí právě vyplněné údaje |
| Poznámka k objednávce | Uloží se a je vidět ve shrnutí i u objednávky |
ES-07 · Nakupuji na firmu a ARES
Section titled “ES-07 · Nakupuji na firmu a ARES”Příprava: Otevřený krok Fakturační údaje.
- Zapni přepínač Nakupuji na firmu.
- Ověřit: přibyla pole IČO, DIČ a Název firmy.
- Zadej nesmyslné IČO (např.
12345) a klikni na Načíst z ARESu. - Ověřit: hláška „Zadejte platné IČO.“, nic se nedoplnilo.
- Zadej platné IČO neexistující firmy a načti z ARESu.
- Ověřit: hláška, že firma nebyla v ARESu nalezena.
- Zadej platné IČO plátce DPH a načti z ARESu.
Očekávání:
- Doplní se Název firmy a DIČ, adresa zůstane, jak byla
- U neplátce DPH zůstane DIČ prázdné
- Vyplněné IČO bez názvu firmy uložení odmítne
- Vypnutí přepínače firemní údaje zahodí a objednávka se vystaví na fyzickou osobu
ES-08 · Doručit na jinou adresu
Section titled “ES-08 · Doručit na jinou adresu”Příprava: Otevřený krok Fakturační údaje, vyplněné hlavní údaje.
- Zapni přepínač Doručit na jinou adresu.
- Vyplň jméno příjemce, ulici, město, PSČ a zemi.
- Ulož a projdi objednávku až do konce.
Očekávání:
| Místo | Co je vidět |
|---|---|
| Shrnutí | Obě adresy odděleně |
| Detail objednávky v adminu | Panel Zákazník a doručení s doručovací adresou, panel Fakturační adresa navíc |
| Doklad | Vystavený na fakturační adresu / firmu |
| Telefon a e-mail u doručovací adresy | Převzatý z hlavních údajů |
- Nastav u doručovací adresy zemi, kam zvolený dopravce nevozí, a ulož.
- Ověřit: hláška „Zvolená doprava do téhle země nevozí, změňte prosím dopravu.“, uložení odmítnuto.
ES-09 · Ochrana kroků pokladny
Section titled “ES-09 · Ochrana kroků pokladny”Příprava: Prázdný košík.
- Otevři přímo
/shop/doprava-a-platba. - Ověřit: přesměrování na
/shop. - Přidej zboží a otevři přímo
/shop/kontakt. - Ověřit: přesměrování na
/shop/doprava-a-platba. - Vyber dopravu i platbu a otevři přímo
/shop/shrnuti.
Očekávání:
- Bez vyplněných fakturačních údajů přesměruje shrnutí na
/shop/kontakt - S kompletními kroky se shrnutí otevře normálně
ES-10 · Odeslání objednávky — platba převodem
Section titled “ES-10 · Odeslání objednávky — platba převodem”Příprava: Kompletně vyplněná pokladna, platební metoda se způsobem Platba převodem.
- Na shrnutí klikni na odeslání bez zaškrtnutého souhlasu.
- Ověřit: hláška „Potvrďte prosím souhlas se zpracováním osobních údajů.“, objednávka nevznikla.
- Zaškrtni souhlas a odešli objednávku.
Očekávání:
| Kontrola | Výsledek |
|---|---|
| Stránka | Detail objednávky /shop/order/{číslo}/{hash} |
| Stav | Čeká na platbu |
| QR platba | Zobrazená, variabilní symbol = číslo objednávky, částka = celkem s DPH |
| Košík | Vyprázdněný, ikona v hlavičce na nule |
| Mailhog | E-mail o přijetí objednávky s číslem objednávky a odkazem |
| Admin → Objednávky | Nová objednávka ve stavu Čeká na platbu |
| Číslo objednávky | Tvar YYMM + čtyřmístné pořadí |
| Zásilky | Objednávka tam není (není zaplaceno) |
ES-11 · Odeslání objednávky — dobírka
Section titled “ES-11 · Odeslání objednávky — dobírka”Příprava: Kompletně vyplněná pokladna, dopravce se Zásilkovnou, platba Dobírka.
- Odešli objednávku.
Očekávání:
- Objednávka je ve stavu Čeká na platbu, ale v E-shop → Zásilky se hned objevila zásilka směrem k zákazníkovi
- Zásilka má číslo od Zásilkovny a jde k ní stáhnout štítek
- Částka k výběru na dobírku odpovídá celkové ceně s DPH
- Doklad se zatím nevystavil
ES-12 · Odeslání objednávky — platba kartou
Section titled “ES-12 · Odeslání objednávky — platba kartou”Příprava: Platební metoda se způsobem Platba kartou (Comgate), přepínač „jen pro adminy” vypnutý.
- Odešli objednávku.
- Ověřit: prohlížeč skončí na platební bráně Comgate.
- Zaplať testovací kartou.
Očekávání:
| Krok | Výsledek |
|---|---|
| Návrat z brány | Stránka výsledku platby |
| Stav objednávky (po PUSH notifikaci) | Ve zpracování |
| Zásilky | Založená zásilka směrem k zákazníkovi |
| Doklad | Vystavený, ke stažení z detailu objednávky |
| Mailhog | E-mail o přijetí a e-mail o zpracování |
| Detail objednávky v adminu | Panel Platba a obchod obsahuje ID transakce |
- Zopakuj s zrušenou platbou v bráně.
- Ověřit: objednávka skončí ve stavu Stornováno, zásilka nevznikla, dorazil e-mail o stornu.
ES-13 · Platba kartou jen pro adminy
Section titled “ES-13 · Platba kartou jen pro adminy”Příprava: V Systémová nastavení → E-shop zapni Platba kartou (Comgate) jen pro adminy.
- Jako nepřihlášený zákazník projdi na krok Doprava a platba.
- Ověřit: platba kartou v nabídce není, ostatní metody ano.
- Přihlas se jako běžný registrovaný zákazník (bez role admin) a zopakuj.
- Ověřit: platba kartou pořád není v nabídce.
- Přihlas se jako admin a zopakuj.
Očekávání:
- Adminovi se platba kartou nabídne a celá objednávka projde včetně brány
- Vypnutí přepínače vrátí kartu všem
- Platební metoda zůstává v adminu Aktivní (přepínač ji jen skrývá zákazníkům)
ES-14 · Stránka objednávky a doklad z odkazu
Section titled “ES-14 · Stránka objednávky a doklad z odkazu”Příprava: Zaplacená objednávka s vystaveným dokladem.
- Otevři odkaz na objednávku z e-mailu v Mailhogu v odhlášeném prohlížeči (anonymní okno).
- Ověřit: detail objednávky se zobrazí i bez přihlášení.
- Změň v adrese hash na nesmysl.
- Ověřit: přesměrování na
/shop, žádná data objednávky se neukážou. - Stáhni fakturu tlačítkem u objednávky.
Očekávání:
| Test | Výsledek |
|---|---|
Stáhne se jako soubor faktura-<číslo>.pdf |
|
| Objednávka bez dokladu | Odkaz na fakturu není, přímá adresa přesměruje na /shop |
| Objednávka ve stavu Čeká na platbu | Zobrazí QR kód, ne fakturu |
ES-15 · Moje objednávky
Section titled “ES-15 · Moje objednávky”Příprava: Přihlášený zákazník, který má aspoň tři objednávky v různých stavech.
- Otevři
/shop/moje-objednavky. - Ověřit: objednávky seřazené od nejnovější, u každé stav a celková cena.
- Ověřit: u položek jsou miniatury všech produktů, ne jen prvního.
- Odhlas se a otevři adresu znovu.
Očekávání:
- Odhlášeného pustí přihlašovací stránka, ne 404
- Objednávky jiného zákazníka se nikde neukážou
- U objednávky ve stavu Odesláno / Dokončeno je tlačítko Vrátit produkt
ES-16 · Zákazník zakládá vrácení
Section titled “ES-16 · Zákazník zakládá vrácení”Příprava: Přihlášený zákazník s objednávkou ve stavu Odesláno nebo Dokončeno, min. 2 kusy jedné položky.
- V Moje objednávky klikni u objednávky na Vrátit produkt.
- Odešli formulář bez vybraného množství.
- Ověřit: hláška „Vyber aspoň jednu položku, kterou vracíš.”
- Zadej u položky víc kusů, než kolik jich bylo objednáno.
- Ověřit: hláška „U některé položky vracíš víc kusů, než kolik jich zbývá.”
- Vyber typ Vrácení objednávky, jeden kus, vyplň e-mail, telefon a popis a odešli.
Očekávání:
| Kontrola | Výsledek |
|---|---|
| Stránka | Přehled Reklamace a vrácení s hláškou o přijetí |
| Číslo případu | V + číslo objednávky |
| Mailhog | E-mail s podacím heslem |
| Podací heslo | Vidět i v přehledu Reklamace a vrácení a na stránce objednávky |
| Stav objednávky | Vráceno, bez e-mailu o změně stavu |
| Admin → Vrácení a reklamace | Nový případ ve stavu Nahlášeno |
| Admin → Zásilky | Zpětná zásilka směr „zpět k nám”, prázdné výdejní místo |
| Slack (interní kanál) | Zpráva o nahlášeném vrácení |
- Vrať z téže objednávky zbytek položek dalším případem.
- Ověřit: druhý případ má číslo
V<číslo objednávky>A. - Založ z téže objednávky reklamaci.
- Ověřit: číslo
R<číslo objednávky>1.
ES-17 · Vrácení, které nejde založit
Section titled “ES-17 · Vrácení, které nejde založit”Příprava: Objednávka ve stavu Čeká na platbu a objednávka, ze které je už všechno vrácené.
- Otevři přímo
/shop/objednavka/{číslo objednávky}/vraceniu objednávky ve stavu Čeká na platbu. - Ověřit: 404.
- Zopakuj u objednávky, ze které se už nedá nic vrátit.
- Ověřit: 404.
- Zopakuj s objednávkou jiného zákazníka.
- Ověřit: 404, žádné údaje cizí objednávky se nezobrazí.
Administrace
Section titled “Administrace”ES-20 · Seznam objednávek
Section titled “ES-20 · Seznam objednávek”Příprava: Objednávky v různých stavech, aspoň jedna s fakturou, jedna s poznámkou zákazníka, jedna od registrovaného a jedna od nepřihlášeného zákazníka.
- Otevři E-shop → Objednávky.
- Vyhledej podle čísla objednávky, jména zákazníka, e-mailu a čísla faktury.
- Ověřit: všechny čtyři způsoby hledání najdou správnou objednávku.
- Postupně použij filtry Stav, Dopravce, Platební metoda, Registrovaný zákazník, Vytvořeno od/do.
Očekávání:
| Prvek | Stav |
|---|---|
| Klik na číslo objednávky | Zkopíruje se do schránky (jen přes https) |
| Dopravce a platební metoda | Ikona s popiskem po najetí myší |
| Sloupec Zásilka | Číslo s proklikem na sledování; prázdné u objednávek bez zásilky |
| Ikona poznámky | Jen u objednávek, kde zákazník něco napsal |
| Volitelné sloupce | Účet, Číslo faktury, Cena bez DPH, Výše DPH, Aktualizováno |
| Tlačítka v hlavičce | Zásilky, Vrácení a reklamace |
ES-21 · Detail objednávky
Section titled “ES-21 · Detail objednávky”Příprava: Zaplacená objednávka kartou, s odlišnou fakturační adresou, poznámkou a založenou zásilkou.
- Otevři detail kliknutím na řádek.
Očekávání:
- Souhrn nahoře: stav, stav platby, dopravce, celkem s DPH a vyčíslená daň
- Vlevo: Položky objednávky (zboží + doprava + platba), Historie objednávky, Poznámka zákazníka
- Vpravo: Zákazník a doručení, Fakturační adresa, Zásilka, Platba a obchod, sbalený panel Systém
- Historie ukazuje u každé změny stavu čas a kdo ji provedl
- Variabilní symbol = číslo objednávky, ID transakce jen u karetní platby
- Detail je jen ke čtení, nikde se needituje přímo v poli
- Ověřit: u objednávky bez poznámky panel Poznámka zákazníka není, u objednávky se shodnou adresou není panel Fakturační adresa, u objednávky bez zásilky není panel Zásilka.
- Ověřit: tlačítko Napsat zákazníkovi otevře e-mailový program s předvyplněnou adresou a číslem objednávky v předmětu.
ES-22 · Změna stavu objednávky
Section titled “ES-22 · Změna stavu objednávky”Příprava: Objednávka ve stavu Čeká na platbu, placená převodem, dopravce Zásilkovna.
- Zkus stav překliknout přímo v tabulce.
- Ověřit: nejde to, stav se mění jen tlačítkem Změnit stav.
- Klikni na Změnit stav z řádku v seznamu, vyber Ve zpracování, přepínač e-mailu nech zapnutý a potvrď.
Očekávání:
| Kontrola | Výsledek |
|---|---|
| Stav | Ve zpracování |
| Mailhog | E-mail zákazníkovi o zpracování |
| E-shop → Zásilky | Nová zásilka se zásilkovým číslem |
| Doklad | Vystavený a napojený na objednávku |
| Historie objednávky | Nový záznam s tvým jménem |
- Změň stav na Odesláno s vypnutým přepínačem e-mailu.
- Ověřit: stav se změnil, žádný e-mail v Mailhogu nepřibyl.
- Vyber znovu stav, ve kterém objednávka už je.
- Ověřit: systém nic neudělá a napíše to.
- Přepni objednávku zpět na Ve zpracování a znovu na Odesláno.
- Ověřit: druhá zásilka ani druhý doklad nevznikly.
ES-23 · Změna stavu u dobírky
Section titled “ES-23 · Změna stavu u dobírky”Příprava: Objednávka placená dobírkou, ve stavu Nová nebo Ve zpracování, se zásilkou.
- Přepni stav na Ve zpracování.
- Ověřit: doklad se nevystavil (u dobírky se čeká na doručení).
- Přepni stav na Dokončeno.
Očekávání:
- Teprve teď se vystaví doklad
- Zákazníkovi odejde e-mail o dokončení
- Opakované přepnutí na Dokončeno druhý doklad nevyrobí
ES-24 · Úprava objednávky
Section titled “ES-24 · Úprava objednávky”Příprava: Objednávka ve stavu Čeká na platbu.
- Klikni na Upravit objednávku.
- Ověřit: formulář má části Zákazník, Doručovací adresa, Firemní údaje (sbalené u fyzické osoby) a Doprava a platba.
- Oprav překlep ve jméně a ulož.
- Ověřit: změna je vidět v detailu i v seznamu.
- Rozbal Firemní údaje, zadej IČO a klikni na tlačítko pro načtení z ARESu.
- Ověřit: doplní se název firmy a u plátce i DIČ.
- Změň dopravce na dražšího a ulož.
Očekávání:
| Kontrola | Výsledek |
|---|---|
| Položka dopravy v objednávce | Nová cena i nový název |
| Celkem s DPH | Přepočítané |
| DPH u dopravy | Pořád nejvyšší sazba zboží v objednávce |
| Historie | Změna zaznamenaná |
| Už založená zásilka | Zůstává s původními údaji, adresa se do ní nepropíše |
ES-25 · Produkty
Section titled “ES-25 · Produkty”Příprava: Otevřená sekce E-shop → Produkty.
- Založ nový produkt: vyplň jen název.
- Ověřit: zkratka se doplnila sama, popis je povinný.
- Nahraj obrázek užší než 600 px a soubor větší než 5 MB.
- Ověřit: oba systém odmítne s hláškou.
- Vyplň zbytek, přidej dvě varianty s různou změnou ceny a různým skladem, ulož.
- Ověřit: produkt je hned v e-shopu, varianty mají svůj sklad.
- Nastav slevu typu Procenta s obdobím Sleva od v budoucnosti.
Očekávání:
| Test | Výsledek |
|---|---|
| Sleva mimo období | V e-shopu se neuplatní |
| Sleva v období | Uplatní se, počítá se z ceny bez DPH |
| Typ zboží | Přednastavený Fyzický produkt, v seznamu barevný štítek a filtr |
| Hmotnost 0 u fyzického zboží | Uloží se (je to jen doporučení), ale zásilka pak jde jako bezvážná |
| Specifikace | Přidávají se po dvojicích a zobrazí se na detailu produktu |
| Změna zkratky | Stará adresa přestane fungovat (404) |
ES-26 · Dopravci
Section titled “ES-26 · Dopravci”Příprava: Otevřená sekce E-shop → Dopravci.
- Založ dopravce: název, cena bez DPH, způsob doručení Zásilkovna (výdejní místo), typy zboží Fyzický produkt, země ČR.
- Ověřit: u dopravce se nezadává sazba DPH.
- Ulož a zkontroluj ho v košíku.
- Přepni Aktivní rovnou v seznamu na vypnuto.
- Ověřit: v košíku dopravce zmizel.
- Založ dopravce s prázdnými poli typů zboží i zemí.
Očekávání:
- Prázdný výběr = bez omezení, dopravce se nabídne vždy
- Dopravce s Osobní odběr zapnuto nezakládá zásilku u Zásilkovny
- Přepínače Osobní odběr a Aktivní jdou překliknout přímo v seznamu
- Změna ceny se nepromítne do už odeslaných objednávek
ES-27 · Platební metody
Section titled “ES-27 · Platební metody”Příprava: Otevřená sekce E-shop → Platební metody.
- Založ metodu s názvem „Platba kartou”, ale způsobem platby Platba převodem.
- Projdi s ní objednávku.
- Ověřit: zákazník nejde do brány, dostane údaje k převodu — rozhoduje způsob platby, ne název.
- Přepni Aktivní rovnou v seznamu.
- Ověřit: vypnutá metoda v košíku není.
Očekávání:
- Přednastavený způsob platby u nové metody je Platba převodem
- Cena metody se v košíku projeví jako samostatná položka s DPH
- Změna ceny se nepromítne do už odeslaných objednávek
ES-28 · Nastavení e-shopu
Section titled “ES-28 · Nastavení e-shopu”Příprava: Otevřená sekce Systémová nastavení → E-shop.
- Zkontroluj tabulky Platební brána Comgate a Doprava Zásilkovna.
- Ověřit: u každého údaje je štítek Nastaveno / Chybí, chybějící údaj vyvolá žluté upozornění nad tabulkou.
- Ověřit: pod tabulkou Comgate je věta o testovacím / ostrém režimu.
- Zkus nastavit Koeficient hmotnosti zásilky na 0,9.
- Ověřit: hodnota pod 1 se neuloží.
- Nastav koeficient na 1,1, ulož a založ objednávku s produktem o hmotnosti 1 kg.
- Ověřit: dopravci se nahlásí hmotnost 1,1 kg.
- Změň Formát štítku Zásilkovny a stáhni štítek v přehledu zásilek.
- Ověřit: PDF odpovídá zvolenému formátu.
ES-29 · Neplátce DPH
Section titled “ES-29 · Neplátce DPH”Příprava: V nastavení e-shopu vyber jako fakturační společnost firmu, která není plátce DPH.
- Otevři formulář produktu a platební metody.
- Ověřit: v nabídce DPH je jen nula.
- Projdi objednávku.
Očekávání:
| Místo | Výsledek |
|---|---|
| Ceny v košíku | Bez rozpisu daně |
| DPH u dopravy | Nula (přebírá se od zboží) |
| Doklad | Jmenuje se Faktura, ne Daňový doklad |
| Doklad | Bez rozpisu DPH a bez data zdanitelného plnění |
- Přepni firmu zpět na plátce a Ověřit: sazby se v nabídce zase objeví, ale u existujícího zboží zůstávají tak, jak byly, dokud ho někdo neuloží.
- Vymaž fakturační společnost úplně a projdi zaplacenou objednávku.
- Ověřit: objednávka projde, doklad nevznikne, chyba se zaloguje (potvrdí vývojář).
ES-30 · Přehled zásilek
Section titled “ES-30 · Přehled zásilek”Příprava: Aspoň dvě odchozí a jedna zpětná zásilka, mezi nimi jedna doručená.
- Otevři E-shop → Zásilky.
- Ověřit: v tabulce jsou obojí zásilky, sloupec Směr je rozlišuje.
- Zapni přepínač Jen nedoručené.
- Ověřit: doručené, vrácené odesílateli, zrušené a ztracené zásilky zmizely.
- Filtruj podle směru a vyhledej podle čísla případu i čísla zásilky.
- Zapni skrytý sloupec Doručeno.
Očekávání:
| Prvek | Stav |
|---|---|
| Sloupec Objednávka | Proklik na detail objednávky, u zpětných na detail vrácení |
| Výdejní místo | Vyplněné jen u Zásilkovny na výdejní místo |
| Stav u dopravce | Poslední známý stav + jak je starý; u čerstvé zásilky Nezjištěno |
| Tlačítko Sledovat | Vede na sledování u Zásilkovny; u vyřízených zásilek chybí |
ES-31 · Štítky
Section titled “ES-31 · Štítky”Příprava: Aspoň tři zásilky s číslem od Zásilkovny.
- U jedné zásilky klikni na Štítek.
- Ověřit: otevře se PDF ve formátu podle nastavení e-shopu.
- Zaškrtni tři zásilky a použij hromadnou akci Stáhnout štítky.
- Ověřit: jedno PDF se všemi třemi štítky.
- Zkus štítek u zásilky bez čísla (vývojář ji připraví).
Očekávání:
- Tlačítko štítku u zásilky bez čísla není, přímá adresa skončí chybou
- Hromadná akce nad výběrem bez jediného štítku skončí hláškou, ne prázdným PDF
ES-32 · Chybějící napojení Zásilkovny
Section titled “ES-32 · Chybějící napojení Zásilkovny”Příprava: Vývojář dočasně vymaže PACKETA_ESHOP.
- Otevři E-shop → Zásilky.
- Ověřit: místo seznamu se ukáže upozornění, žádné cizí zásilky se nezobrazí.
- Vývojář hodnotu vrátí.
- Ověřit: seznam se zase načte.
ES-33 · Vrácení a reklamace v adminu
Section titled “ES-33 · Vrácení a reklamace v adminu”Příprava: Případy typu vrácení i reklamace v různých stavech.
- Otevři E-shop → Vrácení a reklamace.
- Filtruj podle typu a stavu, zapni přepínač Jen nevyřízené.
- Ověřit: stavy Peníze vráceny, Zamítnuto a Zrušeno se schovaly.
- Překlikni stav rovnou ve sloupci Stav vyřizování.
- Ověřit: stav se změnil a je vidět v historii případu.
- Otevři detail případu.
Očekávání:
- Nahoře souhrn: stav, typ, odkaz na objednávku, hodnota zásilky
- Vlevo vracené položky (obrázek, kolik kusů z kolika, cena za kus, poznámka), popis od zákazníka, historie
- Vpravo kontakt, panel Zpětná zásilka (číslo, podací heslo, stav, datum vzniku) a sbalený panel Systém
- Tlačítka Změnit stav, Upravit údaje, Napsat zákazníkovi
- Tlačítko Štítek zpětné zásilky v hlavičce panelu zásilky
ES-34 · Vrácení peněz na kartu
Section titled “ES-34 · Vrácení peněz na kartu”Příprava: Případ ve stavu Přijato z objednávky zaplacené kartou přes Comgate.
- Otevři detail případu.
- Ověřit: tlačítko Vrátit peníze je vidět.
- Klikni na něj.
- Ověřit: předvyplněná částka = cena vracených kusů (bez dopravy a poplatku za platbu).
- Zadej částku vyšší, než kolik zákazník zaplatil za celou objednávku.
- Ověřit: formulář ji nepřijme.
- Zadej částku 0 nebo zápornou.
- Ověřit: formulář ji nepřijme (minimum je 1).
- Potvrď vrácení předvyplněné částky.
Očekávání:
| Kontrola | Výsledek |
|---|---|
| Hláška | Potvrzení s vrácenou částkou v CZK |
| Stav případu | Peníze vráceny |
| Comgate (testovací portál) | Vratka u odpovídající transakce |
- Ověř, kde se tlačítko nezobrazí:
| Situace | Tlačítko Vrátit peníze |
|---|---|
| Platba převodem nebo dobírkou | Není |
| Případ ve stavu Nahlášeno nebo Na cestě k nám | Není |
| Objednávka bez ID transakce | Není |
| Případ ve stavu Schváleno, platba kartou | Je |
ES-35 · Dozaložení zpětné zásilky
Section titled “ES-35 · Dozaložení zpětné zásilky”Příprava: Případ, u kterého Zásilkovna při nahlášení neodpověděla (vývojář ho připraví nebo se použije starší případ bez zásilky).
- Otevři detail případu.
- Ověřit: místo panelu se zásilkou je poznámka, že se ji nepodařilo založit, a tlačítko Založit zpětnou zásilku.
- Klikni na tlačítko a potvrď.
Očekávání:
- Panel se přepnul na normální zobrazení s číslem zásilky a podacím heslem
- Zákazníkovi dorazil stejný e-mail jako při nahlášení (Mailhog)
- Zásilka je v E-shop → Zásilky jako příchozí
- U případu, který zásilku už má, tlačítko není vidět
Interní procesy
Section titled “Interní procesy”ES-40 · PUSH notifikace o zaplacení (Comgate)
Section titled “ES-40 · PUSH notifikace o zaplacení (Comgate)”Příprava: Objednávka ve stavu Čeká na platbu, placená kartou, s ID transakce.
- Zaplať v testovací bráně.
- Ověřit: do chvilky se objednávka sama přepne na Ve zpracování.
- Vývojář zopakuje stejnou notifikaci ještě dvakrát.
- Ověřit: stav zůstává Ve zpracování, nevznikla druhá zásilka ani druhý doklad, zákazníkovi nedorazil další e-mail.
Očekávání:
| Situace | Výsledek |
|---|---|
| Notifikace se špatným tajným klíčem | Objednávka se nezmění, v logu je varování |
| Notifikace k neznámé transakci | Objednávka se nezmění, v logu je chyba |
| Zrušená platba v bráně | Objednávka přejde na Stornováno + e-mail zákazníkovi |
| Nedokončená (pending) platba | Objednávka zůstane ve stavu Čeká na platbu |
ES-41 · PUSH tracking Zásilkovny
Section titled “ES-41 · PUSH tracking Zásilkovny”Příprava: Objednávka ve stavu Ve zpracování s odchozí zásilkou.
- Nech Zásilkovnu (nebo vývojáře) poslat stav „doručeno”.
- Ověřit: zásilka má stav doručeno a datum doručení, objednávka se překlopila na Dokončeno.
- Nech přijít starší stav (např. „na cestě”) k téže zásilce.
- Ověřit: stav se nevrátil zpátky, e-maily se neposlaly znovu.
Očekávání:
| Situace | Výsledek |
|---|---|
| Stav ke zpětné zásilce = převzato dopravcem | Případ vrácení přejde na Na cestě k nám |
| Stav ke zpětné zásilce = doručeno | Případ přejde na Přijato |
| Případ už posouzený člověkem (Schváleno / Zamítnuto) | Dopravce ho zpátky neposune |
| Objednávka ve stavu Stornováno | Doručení ji nepřeklopí na Dokončeno |
| Stav „ztraceno” nebo „vrací se odesílateli” | Do interního Slack kanálu přijde upozornění |
| Neznámý stav od dopravce | Uloží se, aplikace nespadne |
ES-42 · Hodinová synchronizace zásilek
Section titled “ES-42 · Hodinová synchronizace zásilek”Příprava: Aspoň jedna nedoručená zásilka.
- Vývojář spustí
parcels:sync. - Ověřit: v přehledu zásilek se u nedoručených aktualizoval čas u sloupce Stav u dopravce.
- Vývojář spustí
parcels:syncznovu. - Ověřit: už doručené a vyřízené zásilky se neptají znovu (stav ani čas se u nich nemění).
Očekávání:
- Zásilka, na kterou Zásilkovna neodpoví, běh neshodí — ostatní se dosynchronizují
- Doručení dotažené syncem překlopí objednávku na Dokončeno stejně jako PUSH
ES-43 · Párování plateb za objednávky
Section titled “ES-43 · Párování plateb za objednávky”Příprava: Objednávka ve stavu Čeká na platbu, platba převodem, cena např. 1 000 Kč.
- Nech přijít bankovní platbu na plnou částku se správným variabilním symbolem (= číslo objednávky).
- Vývojář spustí párování.
Očekávání:
| Kontrola | Výsledek |
|---|---|
| Platba | Stav Spárováno, u ní je vidět, že patří k objednávce |
| Objednávka | Ve zpracování |
| Zásilka a doklad | Vznikly |
| Mailhog | E-mail o zpracování |
- Zopakuj se scénáři:
| Situace | Očekávaný výsledek |
|---|---|
Platba bez pole VS, ale se VS12345 ve zprávě pro příjemce |
Spáruje se |
Slovenský zápis /VS/12345/SS/…/KS/… |
Spáruje se |
| Platba bez VS kdekoliv | Nespárováno, čeká v Finance → Nespárované platby |
| Platba datovaná dřív než vznik objednávky | Nespárováno |
| Objednávka placená kartou nebo dobírkou | Nespáruje se (páruje se jen převod) |
| Dvě částečné platby (600 + 400) | Obě Spárováno, objednávka se posune až po druhé |
| Jen jedna částečná platba (600) | Objednávka zůstane Čeká na platbu, zásilka nevznikne |
| Přeplatek (1 200) | Objednávka se posune na Ve zpracování |
| VS sedí na moderátora, ne na objednávku | Založí se platba moderátorovi |
ES-44 · Odolnost vůči výpadku externí služby
Section titled “ES-44 · Odolnost vůči výpadku externí služby”Příprava: Vývojář dočasně rozbije přístupové údaje k jedné službě.
- Zásilkovna nedostupná — projdi a odešli objednávku placenou dobírkou.
- Ověřit: objednávka vznikla, zákazník skončil na potvrzení, e-mail dorazil, zásilka chybí a chyba je zalogovaná.
- Comgate nedostupný — projdi objednávku placenou kartou.
- Ověřit: zákazník neskončí na chybové stránce, ale na detailu objednávky ve stavu Čeká na platbu.
- Zásilkovna nedostupná — zákazník nahlásí vrácení.
- Ověřit: případ vznikl, ale bez podacího hesla; v detailu je poznámka a tlačítko Založit zpětnou zásilku (viz ES-35); do Slacku přišlo hlášení.
ES-45 · Zásilkovna bez výdejního místa
Section titled “ES-45 · Zásilkovna bez výdejního místa”Příprava: Objednávka s dopravcem Zásilkovna (výdejní místo), u které chybí vybraná pobočka (vývojář ji připraví).
- Přepni objednávku na Ve zpracování.
Očekávání:
- Stav se změní a zákazníkovi odejde e-mail
- Zásilka nevznikne, chyba je zalogovaná
- Objednávka není v přehledu zásilek
- U dopravce s doručením domů (bez
PACKETA_HD_SHIPPER_ID) se zásilka taky nezaloží, zbytek e-shopu funguje dál
ES-46 · E-maily zákazníkovi
Section titled “ES-46 · E-maily zákazníkovi”Příprava: Mailhog otevřený, průchod objednávkou přes všechny stavy.
- Projdi objednávku a postupně přepni stavy Nová → Čeká na platbu → Ve zpracování → Odesláno → Dokončeno, pak jinou objednávku na Stornováno a další na Vráceno.
Očekávání:
| Stav | |
|---|---|
| Nová | Potvrzení objednávky |
| Čeká na platbu | Výzva k platbě s údaji |
| Ve zpracování | Objednávku připravujeme |
| Odesláno | Zboží je na cestě |
| Dokončeno | Objednávka dokončena |
| Stornováno | Objednávka stornována |
| Vráceno (z nahlášení zákazníkem) | Neposílá se — zákazník právě dostal potvrzení případu |
- Ověřit: všechny e-maily jsou zákazníkovi tykané, obsahují číslo objednávky a odkaz na detail.
- Ověřit: objednávka bez vyplněného e-mailu nezpůsobí chybu při změně stavu.
Regresní checklist
Section titled “Regresní checklist”Po testování výše ověřit, že tyto oblasti nespadly:
- Ikona košíku v hlavičce ukazuje správný počet i po vyprázdnění košíku
- Web mimo e-shop (rezervace, ligy, profil týmu) funguje beze změny
- Faktury k neobjednávkovým dokladům (moderátoři, remitence) se pořád vystavují a číslují správně
- Nespárované platby moderátorů se stále párují a tlačítko Vyřešit nabízí jen moderátory
- Přehled produktů v e-shopu se načítá bez N+1 (rychlá odezva při desítkách produktů)
- Přihlášení / odhlášení nezruší rozdělaný košík
- Sekce E-shop v menu administrace obsahuje Produkty, Objednávky, Zásilky, Vrácení a reklamace, Dopravci, Platební metody
- Nikde v administraci ani na webu nezbyla zmínka o původním konceptu více obchodů
Automatizované testy
Section titled “Automatizované testy”docker-compose exec fpm php artisan test tests/Feature/Eshop/ --compactdocker-compose exec fpm php artisan test tests/Unit/Eshop/ --compactdocker-compose exec fpm php artisan test tests/Feature/BankTransactions/ --compactdocker-compose exec fpm php artisan test --filter=ComgateWebhookTest --compactdocker-compose exec fpm php artisan test --filter=PacketaWebhookTest --compactdocker-compose exec fpm php artisan test --filter=OrderProcessingServiceTest --compactdocker-compose exec fpm php artisan test --filter=ParcelSyncTest --compactdocker-compose exec fpm php artisan test --filter=EshopOrderSeederTest --compact