Skip to content

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.


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í.

Reset DB zajistí vývojář:

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

Př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_ID a PACKETA_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.



Příprava: Žádná, testuje se jako nepřihlášený návštěvník.

  1. Otevři /shop.
  2. Ověřit: produkty jsou seřazené podle pole Pozice (nižší číslo dřív).
  3. Klikni na produkt se slevou.
  4. Ověřit: je vidět původní i zlevněná cena a cena odpovídá slevě spočítané z ceny bez DPH plus daň.
  5. 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

Příprava: Prázdný košík.

  1. Otevři /shop/kosik.
  2. Ověřit: stránka se vykreslí i s prázdným košíkem, žádné přesměrování na výpis.
  3. Přidej produkt bez varianty a Ověřit: ikona košíku v hlavičce ukazuje počet položek.
  4. Přidej stejný produkt ve dvou různých variantách.
  5. Ověřit: jsou to dvě samostatné položky, každá se svým názvem varianty.
  6. Zvyš množství tlačítkem plus až nad stav skladu.
  7. Ověřit: hláška „Zadaný počet ks není skladem.“, množství se nezvýší.
  8. 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.

  1. Přejdi na Doprava a platba.
  2. Ověřit: nabídnou se jen dopravci s Aktivní zapnuto, kteří vozí do ČR a umí fyzické zboží.
  3. Přepni doručovací zemi na Slovensko.
  4. Ověřit: nabídka se zúží na dopravce se SK v poli Doručovací země (a na ty, kdo mají pole prázdné).
  5. Vrať se do košíku a přidej digitální produkt.
  6. 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.

  1. Změň doručovací zemi na takovou, kam zvolený dopravce nevozí.
  2. 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á.
  3. Vyber dopravce znovu, vrať se do košíku a přidej zboží typu, které tenhle dopravce nedoveze.
  4. 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

Příprava: V košíku fyzický produkt.

  1. Vyber dopravce se způsobem doručení Zásilkovna (výdejní místo).
  2. Ověřit: sám od sebe se otevře widget s výběrem pobočky.
  3. Zavři widget bez výběru a zkus pokračovat dál.
  4. Ověřit: hláška „Zvolte prosím výdejní místo”, krok se neposune.
  5. Vyber pobočku.
  6. Ověřit: u dopravce se ukáže její název (dotažený ze Zásilkovny, ne jen číslo).
  7. Odejdi na jinou stránku a vrať se zpět na Doprava a platba.
  8. Ověřit: vybraná pobočka i její název zůstaly.
  9. 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.

  1. Otevři krok Fakturační údaje.
  2. Ověřit: doručovací země je předvyplněná z předchozího kroku.
  3. Ulož prázdný formulář.
  4. Ověřit: chybová hláška u validace, krok se neposune.
  5. 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

Příprava: Otevřený krok Fakturační údaje.

  1. Zapni přepínač Nakupuji na firmu.
  2. Ověřit: přibyla pole IČO, DIČ a Název firmy.
  3. Zadej nesmyslné IČO (např. 12345) a klikni na Načíst z ARESu.
  4. Ověřit: hláška „Zadejte platné IČO.“, nic se nedoplnilo.
  5. Zadej platné IČO neexistující firmy a načti z ARESu.
  6. Ověřit: hláška, že firma nebyla v ARESu nalezena.
  7. 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

Příprava: Otevřený krok Fakturační údaje, vyplněné hlavní údaje.

  1. Zapni přepínač Doručit na jinou adresu.
  2. Vyplň jméno příjemce, ulici, město, PSČ a zemi.
  3. 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ů
  1. Nastav u doručovací adresy zemi, kam zvolený dopravce nevozí, a ulož.
  2. Ověřit: hláška „Zvolená doprava do téhle země nevozí, změňte prosím dopravu.“, uložení odmítnuto.

Příprava: Prázdný košík.

  1. Otevři přímo /shop/doprava-a-platba.
  2. Ověřit: přesměrování na /shop.
  3. Přidej zboží a otevři přímo /shop/kontakt.
  4. Ověřit: přesměrování na /shop/doprava-a-platba.
  5. 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.

  1. Na shrnutí klikni na odeslání bez zaškrtnutého souhlasu.
  2. Ověřit: hláška „Potvrďte prosím souhlas se zpracováním osobních údajů.“, objednávka nevznikla.
  3. 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.

  1. 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ý.

  1. Odešli objednávku.
  2. Ověřit: prohlížeč skončí na platební bráně Comgate.
  3. 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
  1. Zopakuj s zrušenou platbou v bráně.
  2. Ověřit: objednávka skončí ve stavu Stornováno, zásilka nevznikla, dorazil e-mail o stornu.

Příprava: V Systémová nastavení → E-shop zapni Platba kartou (Comgate) jen pro adminy.

  1. Jako nepřihlášený zákazník projdi na krok Doprava a platba.
  2. Ověřit: platba kartou v nabídce není, ostatní metody ano.
  3. Přihlas se jako běžný registrovaný zákazník (bez role admin) a zopakuj.
  4. Ověřit: platba kartou pořád není v nabídce.
  5. 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.

  1. Otevři odkaz na objednávku z e-mailu v Mailhogu v odhlášeném prohlížeči (anonymní okno).
  2. Ověřit: detail objednávky se zobrazí i bez přihlášení.
  3. Změň v adrese hash na nesmysl.
  4. Ověřit: přesměrování na /shop, žádná data objednávky se neukážou.
  5. Stáhni fakturu tlačítkem u objednávky.

Očekávání:

Test Výsledek
PDF 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

Příprava: Přihlášený zákazník, který má aspoň tři objednávky v různých stavech.

  1. Otevři /shop/moje-objednavky.
  2. Ověřit: objednávky seřazené od nejnovější, u každé stav a celková cena.
  3. Ověřit: u položek jsou miniatury všech produktů, ne jen prvního.
  4. 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

Příprava: Přihlášený zákazník s objednávkou ve stavu Odesláno nebo Dokončeno, min. 2 kusy jedné položky.

  1. V Moje objednávky klikni u objednávky na Vrátit produkt.
  2. Odešli formulář bez vybraného množství.
  3. Ověřit: hláška „Vyber aspoň jednu položku, kterou vracíš.”
  4. Zadej u položky víc kusů, než kolik jich bylo objednáno.
  5. Ověřit: hláška „U některé položky vracíš víc kusů, než kolik jich zbývá.”
  6. 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í
  1. Vrať z téže objednávky zbytek položek dalším případem.
  2. Ověřit: druhý případ má číslo V<číslo objednávky>A.
  3. Založ z téže objednávky reklamaci.
  4. Ověřit: číslo R<číslo objednávky>1.

Příprava: Objednávka ve stavu Čeká na platbu a objednávka, ze které je už všechno vrácené.

  1. Otevři přímo /shop/objednavka/{číslo objednávky}/vraceni u objednávky ve stavu Čeká na platbu.
  2. Ověřit: 404.
  3. Zopakuj u objednávky, ze které se už nedá nic vrátit.
  4. Ověřit: 404.
  5. Zopakuj s objednávkou jiného zákazníka.
  6. Ověřit: 404, žádné údaje cizí objednávky se nezobrazí.


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.

  1. Otevři E-shop → Objednávky.
  2. Vyhledej podle čísla objednávky, jména zákazníka, e-mailu a čísla faktury.
  3. Ověřit: všechny čtyři způsoby hledání najdou správnou objednávku.
  4. 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

Příprava: Zaplacená objednávka kartou, s odlišnou fakturační adresou, poznámkou a založenou zásilkou.

  1. 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
  1. 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.
  2. 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.

Příprava: Objednávka ve stavu Čeká na platbu, placená převodem, dopravce Zásilkovna.

  1. Zkus stav překliknout přímo v tabulce.
  2. Ověřit: nejde to, stav se mění jen tlačítkem Změnit stav.
  3. 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
  1. Změň stav na Odesláno s vypnutým přepínačem e-mailu.
  2. Ověřit: stav se změnil, žádný e-mail v Mailhogu nepřibyl.
  3. Vyber znovu stav, ve kterém objednávka už je.
  4. Ověřit: systém nic neudělá a napíše to.
  5. Přepni objednávku zpět na Ve zpracování a znovu na Odesláno.
  6. Ověřit: druhá zásilka ani druhý doklad nevznikly.

Příprava: Objednávka placená dobírkou, ve stavu Nová nebo Ve zpracování, se zásilkou.

  1. Přepni stav na Ve zpracování.
  2. Ověřit: doklad se nevystavil (u dobírky se čeká na doručení).
  3. 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í

Příprava: Objednávka ve stavu Čeká na platbu.

  1. Klikni na Upravit objednávku.
  2. Ověřit: formulář má části Zákazník, Doručovací adresa, Firemní údaje (sbalené u fyzické osoby) a Doprava a platba.
  3. Oprav překlep ve jméně a ulož.
  4. Ověřit: změna je vidět v detailu i v seznamu.
  5. Rozbal Firemní údaje, zadej IČO a klikni na tlačítko pro načtení z ARESu.
  6. Ověřit: doplní se název firmy a u plátce i DIČ.
  7. 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

Příprava: Otevřená sekce E-shop → Produkty.

  1. Založ nový produkt: vyplň jen název.
  2. Ověřit: zkratka se doplnila sama, popis je povinný.
  3. Nahraj obrázek užší než 600 px a soubor větší než 5 MB.
  4. Ověřit: oba systém odmítne s hláškou.
  5. Vyplň zbytek, přidej dvě varianty s různou změnou ceny a různým skladem, ulož.
  6. Ověřit: produkt je hned v e-shopu, varianty mají svůj sklad.
  7. 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)

Příprava: Otevřená sekce E-shop → Dopravci.

  1. Založ dopravce: název, cena bez DPH, způsob doručení Zásilkovna (výdejní místo), typy zboží Fyzický produkt, země ČR.
  2. Ověřit: u dopravce se nezadává sazba DPH.
  3. Ulož a zkontroluj ho v košíku.
  4. Přepni Aktivní rovnou v seznamu na vypnuto.
  5. Ověřit: v košíku dopravce zmizel.
  6. 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

Příprava: Otevřená sekce E-shop → Platební metody.

  1. Založ metodu s názvem „Platba kartou”, ale způsobem platby Platba převodem.
  2. Projdi s ní objednávku.
  3. Ověřit: zákazník nejde do brány, dostane údaje k převodu — rozhoduje způsob platby, ne název.
  4. Přepni Aktivní rovnou v seznamu.
  5. 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

Příprava: Otevřená sekce Systémová nastavení → E-shop.

  1. Zkontroluj tabulky Platební brána Comgate a Doprava Zásilkovna.
  2. Ověřit: u každého údaje je štítek Nastaveno / Chybí, chybějící údaj vyvolá žluté upozornění nad tabulkou.
  3. Ověřit: pod tabulkou Comgate je věta o testovacím / ostrém režimu.
  4. Zkus nastavit Koeficient hmotnosti zásilky na 0,9.
  5. Ověřit: hodnota pod 1 se neuloží.
  6. Nastav koeficient na 1,1, ulož a založ objednávku s produktem o hmotnosti 1 kg.
  7. Ověřit: dopravci se nahlásí hmotnost 1,1 kg.
  8. Změň Formát štítku Zásilkovny a stáhni štítek v přehledu zásilek.
  9. Ověřit: PDF odpovídá zvolenému formátu.

Příprava: V nastavení e-shopu vyber jako fakturační společnost firmu, která není plátce DPH.

  1. Otevři formulář produktu a platební metody.
  2. Ověřit: v nabídce DPH je jen nula.
  3. 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í
  1. 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ží.
  2. Vymaž fakturační společnost úplně a projdi zaplacenou objednávku.
  3. Ověřit: objednávka projde, doklad nevznikne, chyba se zaloguje (potvrdí vývojář).

Příprava: Aspoň dvě odchozí a jedna zpětná zásilka, mezi nimi jedna doručená.

  1. Otevři E-shop → Zásilky.
  2. Ověřit: v tabulce jsou obojí zásilky, sloupec Směr je rozlišuje.
  3. Zapni přepínač Jen nedoručené.
  4. Ověřit: doručené, vrácené odesílateli, zrušené a ztracené zásilky zmizely.
  5. Filtruj podle směru a vyhledej podle čísla případu i čísla zásilky.
  6. 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í

Příprava: Aspoň tři zásilky s číslem od Zásilkovny.

  1. U jedné zásilky klikni na Štítek.
  2. Ověřit: otevře se PDF ve formátu podle nastavení e-shopu.
  3. Zaškrtni tři zásilky a použij hromadnou akci Stáhnout štítky.
  4. Ověřit: jedno PDF se všemi třemi štítky.
  5. 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.

  1. Otevři E-shop → Zásilky.
  2. Ověřit: místo seznamu se ukáže upozornění, žádné cizí zásilky se nezobrazí.
  3. Vývojář hodnotu vrátí.
  4. Ověřit: seznam se zase načte.

Příprava: Případy typu vrácení i reklamace v různých stavech.

  1. Otevři E-shop → Vrácení a reklamace.
  2. Filtruj podle typu a stavu, zapni přepínač Jen nevyřízené.
  3. Ověřit: stavy Peníze vráceny, Zamítnuto a Zrušeno se schovaly.
  4. Překlikni stav rovnou ve sloupci Stav vyřizování.
  5. Ověřit: stav se změnil a je vidět v historii případu.
  6. 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

Příprava: Případ ve stavu Přijato z objednávky zaplacené kartou přes Comgate.

  1. Otevři detail případu.
  2. Ověřit: tlačítko Vrátit peníze je vidět.
  3. Klikni na něj.
  4. Ověřit: předvyplněná částka = cena vracených kusů (bez dopravy a poplatku za platbu).
  5. Zadej částku vyšší, než kolik zákazník zaplatil za celou objednávku.
  6. Ověřit: formulář ji nepřijme.
  7. Zadej částku 0 nebo zápornou.
  8. Ověřit: formulář ji nepřijme (minimum je 1).
  9. 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
  1. 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

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).

  1. Otevři detail případu.
  2. 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.
  3. 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


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.

  1. Zaplať v testovací bráně.
  2. Ověřit: do chvilky se objednávka sama přepne na Ve zpracování.
  3. Vývojář zopakuje stejnou notifikaci ještě dvakrát.
  4. 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

Příprava: Objednávka ve stavu Ve zpracování s odchozí zásilkou.

  1. Nech Zásilkovnu (nebo vývojáře) poslat stav „doručeno”.
  2. Ověřit: zásilka má stav doručeno a datum doručení, objednávka se překlopila na Dokončeno.
  3. Nech přijít starší stav (např. „na cestě”) k téže zásilce.
  4. 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

Příprava: Aspoň jedna nedoručená zásilka.

  1. Vývojář spustí parcels:sync.
  2. Ověřit: v přehledu zásilek se u nedoručených aktualizoval čas u sloupce Stav u dopravce.
  3. Vývojář spustí parcels:sync znovu.
  4. 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č.

  1. Nech přijít bankovní platbu na plnou částku se správným variabilním symbolem (= číslo objednávky).
  2. 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í
  1. 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ě.

  1. Zásilkovna nedostupná — projdi a odešli objednávku placenou dobírkou.
  2. Ověřit: objednávka vznikla, zákazník skončil na potvrzení, e-mail dorazil, zásilka chybí a chyba je zalogovaná.
  3. Comgate nedostupný — projdi objednávku placenou kartou.
  4. Ověřit: zákazník neskončí na chybové stránce, ale na detailu objednávky ve stavu Čeká na platbu.
  5. Zásilkovna nedostupná — zákazník nahlásí vrácení.
  6. 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í).

  1. 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

Příprava: Mailhog otevřený, průchod objednávkou přes všechny stavy.

  1. 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 E-mail
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
  1. Ověřit: všechny e-maily jsou zákazníkovi tykané, obsahují číslo objednávky a odkaz na detail.
  2. Ověřit: objednávka bez vyplněného e-mailu nezpůsobí chybu při změně stavu.

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ů

Terminal window
docker-compose exec fpm php artisan test tests/Feature/Eshop/ --compact
docker-compose exec fpm php artisan test tests/Unit/Eshop/ --compact
docker-compose exec fpm php artisan test tests/Feature/BankTransactions/ --compact
docker-compose exec fpm php artisan test --filter=ComgateWebhookTest --compact
docker-compose exec fpm php artisan test --filter=PacketaWebhookTest --compact
docker-compose exec fpm php artisan test --filter=OrderProcessingServiceTest --compact
docker-compose exec fpm php artisan test --filter=ParcelSyncTest --compact
docker-compose exec fpm php artisan test --filter=EshopOrderSeederTest --compact