Přeskočit obsah

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.

docker compose -f docker_pu/docker-compose.yml exec apache bash

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_DSN musí obsahovat řetězec test, 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=off vypíná Xdebug pro rychlejší a stabilnější běh testů.
  • Název databáze neo_cal_app_test je pracovní hodnota; uprav podle lokální MariaDB.

Frontend

cd react_dev
npm run lint
npm run build

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:

php bin/send-passkey-invite.php admin@example.com --revoke-existing

Command funguje jen pro existující aktivní admin/owner/company_admin účet a zapisuje audit akci auth.passkeyBootstrapInvite.