Spouštění testů¶
Backend feature testy v Dockeru¶
Lokální PHP na hostu nemusí odpovídat verzi vyžadované Composer závislostmi. Backend
testy proto spouštěj uvnitř Docker služby apache.
V kontejneru:
cd /var/www/backend
TEST_DB_DSN='mysql:host=mariadb;port=3306;dbname=neo_test' \
TEST_DB_USER='xxx' \
TEST_DB_PASSWORD='xxx' \
php -d xdebug.mode=off vendor/bin/pest
Pro jeden testovací soubor:
TEST_DB_DSN='mysql:host=mariadb;port=3306;dbname=neo_cal_app_test' \
TEST_DB_USER='root' \
TEST_DB_PASSWORD='rootpassword' \
php -d xdebug.mode=off vendor/bin/pest tests/Feature/AuthEndpointsTest.php
Poznámky:
TEST_DB_DSNmusí obsahovat řetězectest, jinak test bootstrap testy přeskočí.- Test bootstrap před každým feature testem maže a znovu vytváří tabulky podle
backend/db/schema_test.sql. Nepoužívej produkční ani vývojovou databázi. php -d xdebug.mode=offvypíná Xdebug pro rychlejší a stabilnější běh testů.- Název databáze
neo_cal_app_testje pracovní hodnota; uprav podle lokální MariaDB.
Frontend¶
Pokud build padá na import z node:fs/promises, zkontroluj verzi Node.js. Projektový
Docker frontend používá node:20-alpine; Node 18.0.0 na hostu je pro aktuální Vite
příliš starý.
Passkey bootstrap prvního administrátora¶
Když ještě neexistuje přihlášený admin, passkey pozvánka se neposílá veřejnou URL, ale CLI commandem na serveru:
docker compose -f docker_pu/docker-compose.yml exec apache bash
cd /var/www/backend
php bin/send-passkey-invite.php admin@example.com
Nouzové recovery se zneplatněním starých passkeys:
Command funguje jen pro existující aktivní admin/owner/company_admin účet a zapisuje
audit akci auth.passkeyBootstrapInvite.