Commit Graph

72 Commits

Author SHA1 Message Date
batmanisko fe6bb3290e feat: přidání testů – Jest unit testy + Playwright E2E + CI pipeline
ci/woodpecker/push/workflow Pipeline was canceled
ci/woodpecker/pr/workflow Pipeline failed
Server:
- Jest unit testy (88 testů): auth, utils, restaurants, service, voting, pizza
- in-memory storage mock pro izolaci testů
- oprava race condition při inicializaci Redis (storageReady promise)
- dev route dostupná i pro NODE_ENV=test
- getStatsMock deterministický (nahrazení Math.random)
- exporty interních helperů pro testovatelnost
- /api/health endpoint pro Playwright readiness check
- tsconfig vylučuje test soubory z produkčního buildu

E2E (e2e/):
- Playwright s Firefoxem + Chromiem
- testy: login, menu, výběr jídla, pizza day životní cyklus, QR/nastavení
- trusted-header auth bypass pro testy, video + trace při selhání

CI (Woodpecker):
- pipeline spouštěna na všech větvích a PR (nejen master)
- redis-stack-server service pro E2E – čistý Redis per větev automaticky
- kroky: unit testy, build, E2E testy (parallel kde možné)
- Docker build zůstává pouze pro master

Co-Authored-By: Claude Opus (extra usage) 4.7 <noreply@anthropic.com>
2026-04-29 00:25:22 +02:00
batmanisko f8a65d7177 feat: detekce starého menu TechTower, příznak isStale
Pokud TechTower vrátí menu z jiného týdne, uloží data s příznakem
isStale a zobrazí varování "Data jsou z minulého týdne" místo chybové
hlášky. Odstraněno staré varování o datech starších 24 hodin.
2026-03-05 22:11:45 +01:00
mates ac6727efa5 feat: vylepšení Pizza day
ci/woodpecker/push/workflow Pipeline was successful
2026-02-10 23:59:58 +01:00
batmanisko 6f43c74769 fix: resolve 6 Gitea issues (#9, #10, #12, #14, #15, #21)
- #21: Add missing await in removeChoiceIfPresent() to prevent user appearing in two restaurants
- #15: Add 1-hour TTL for menu refetching to avoid scraping on every page load
- #9: Block stats API and UI navigation for future dates
- #14: Add restaurant warnings (missing soup/prices, stale data) with warning icon
- #12: Pre-fill restaurant/departure dropdowns from existing choices on page refresh
- #10: Add voting statistics endpoint and table on stats page
2026-02-04 13:18:27 +01:00
mates e03ba45415 Možnost označení objednávajícího 2026-01-13 14:06:16 +01:00
mates 670e45b805 Nevyvolávat přenačtení u zavřených podniků
ci/woodpecker/push/workflow Pipeline was successful
2025-08-11 10:30:42 +02:00
mates 52769fc981 Opravy dle SonarQube
ci/woodpecker/push/workflow Pipeline was successful
2025-08-07 13:12:55 +02:00
batmanisko 124fdce69d tak jsem to mozna robil, ale mozna taky ne lol 2025-07-31 23:35:38 +02:00
mates 42852805e0 Oprava plnění data a času poslední aktualizace menu
ci/woodpecker/push/workflow Pipeline was successful
2025-07-29 15:41:05 +02:00
batmanisko d767730b19 sonar
ci/woodpecker/push/workflow Pipeline was successful
2025-07-29 15:15:16 +02:00
batmanisko fa4f9903cb parametr forceupdate jidla
ci/woodpecker/push/workflow Pipeline was successful
2025-07-29 11:33:31 +02:00
mates 40c113a4c8 Oprava pádů při načítání z menicka.cz
ci/woodpecker/push/workflow Pipeline was successful
2025-07-07 08:47:39 +02:00
mates 739c7707e1 Migrace serveru na OpenAPI
ci/woodpecker/push/workflow Pipeline was successful
2025-03-20 23:50:47 +01:00
mates d366882f6b Migrace klienta na OpenAPI
ci/woodpecker/push/workflow Pipeline was successful
2025-03-19 23:08:46 +01:00
mates f09bc44d63 Oprava nefunkčního odebrání prvního vybraného jídla
ci/woodpecker/push/workflow Pipeline was successful
2025-03-11 20:57:37 +01:00
mates e55ee7c11e Refaktor: Nálezy SonarQube
ci/woodpecker/push/workflow Pipeline is running
2025-03-05 21:48:02 +01:00
mates d69e09afee Migrace na OpenAPI - TypeScript typy 2025-03-05 21:05:21 +01:00
mates f4e31cea36 Oprava #4, #5
ci/woodpecker/push/workflow Pipeline was successful
2025-02-27 21:29:43 +01:00
mates 8dda6b1014 Oprava #7
ci/woodpecker/push/workflow Pipeline was successful
2025-02-27 21:19:38 +01:00
Michal Hájek eaf0bc353d Výběr obědu kliknutím
ci/woodpecker/push/workflow Pipeline was successful
2025-02-18 10:07:35 +01:00
Michal Hájek d367826ce0 Přidání restaurace Pivovarský šenk Šeříková 2025-01-29 01:14:03 +01:00
Michal Hájek 0fd1482810 Přidání restaurace Zastávka u Michala 2025-01-14 23:45:06 +01:00
mates 02de6691a8 Migrace z pořadových indexů na unikátní klíče 2025-01-09 22:05:20 +01:00
mates e611d36995 Otypování requestů na API 2025-01-08 17:58:49 +01:00
mates 4d2ec529bb Skrytí podniku U Motlíků 2025-01-07 15:44:39 +01:00
mates 4f858a19d8 Oprava parsování TechTower 2024-10-30 13:01:32 +01:00
mates 1e280e9d05 Možnost zadání obecné poznámky k volbě 2024-03-04 23:35:58 +01:00
mates 2b9d817af5 Zobrazování data u poslední aktualizace menu 2023-11-10 20:22:47 +01:00
mates 9c2808d4ec Oprava funkčnosti při selhání načtení dat 2023-10-16 08:54:17 +02:00
mates eb82c23386 Odstranění přebytečných dat, aktualizace TODO 2023-10-15 21:02:58 +02:00
mates f2983b4397 Oprava pádu o víkendech 2023-10-15 20:47:59 +02:00
mates 3460d69899 Oprava mizejícího Pizza day 2023-10-15 19:42:03 +02:00
mates ca9a7c5c23 Parsování jídel na celý týden 2023-10-15 19:05:19 +02:00
mates bef6178a6f Generalizace úložiště pro libovolná data 2023-09-27 15:09:36 +02:00
mates 87beb5b66e Oprava zvýraznění aktuálního dne 2023-09-26 18:44:09 +02:00
mates 8d80678a9a Vylepšená detekce uzavření podniků 2023-09-24 21:16:47 +02:00
mates e4451e299a Serverová validace času odchodu 2023-09-24 08:38:40 +02:00
mates 862614ae9d Refaktor, oddělení Pizza Day do vlastní servisky 2023-09-24 08:08:41 +02:00
mates 1b132a7ca7 Oprava generování QR kódů pro Pizza day 2023-09-22 20:30:27 +02:00
mates 3a357f077f Neorientovat se dle datumu klienta 2023-09-22 19:41:33 +02:00
mates bc181defa8 Zpracování chyb z API 2023-09-18 22:38:04 +02:00
mates 8615286c45 Opravy TypeScriptu 2023-09-06 22:43:51 +02:00
mates 832d3089ec Možnost náhledu a výběru na další dny v týdnu 2023-09-06 19:22:19 +02:00
mates 282184b80b Neumožnit výběr zavřených podniků 2023-08-11 00:17:11 +02:00
mates 45bd84f96f Oprava stahování pizz pro Pizza day 2023-08-10 21:47:56 +02:00
mates e78f9cfd3a Začištění kódu 2023-08-08 21:45:21 +02:00
mates 0b8f00fa49 Oprava chybného zpracování env proměnné MOCK_DATA 2023-08-07 09:38:36 +02:00
mates c4b14bdf6b Ukládání dat výhradně do DB 2023-08-06 21:45:27 +02:00
mates 18cb172e06 Ukládání pizz do DB místo dočasného souboru 2023-08-06 18:52:18 +02:00
mates 3f303ea5ea Možnost zadání preferovaného času odchodu 2023-08-06 18:13:54 +02:00