feat(import): lego-sets ueber die rebrickable-api uebernehmen
Auf "Neues Set" reicht die Setnummer von der Packung: Name, Jahr, Teile, Minifiguren und Thema kommen aus der API, das Bild wird lokal gespeichert und nicht nur verlinkt. Hersteller und Thema werden bei Bedarf angelegt, ein Oberthema inklusive. Alle Aufrufe laufen serverseitig; der Browser spricht nie mit rebrickable.com. Ohne REBRICKABLE_API_KEY bleibt der Import sichtbar, aber abgeschaltet, mit dem Hinweis, was zu tun ist - von Hand anlegen geht unveraendert. Rebrickable liefert keine Anleitungsdateien. Statt das zu verschleiern, legt der Import einen externen Link auf die LEGO-Serviceseite zur Setnummer an. Nebenbei: src/env.ts behandelt leere Werte jetzt wie nicht gesetzt - ein "BASE_URL=" in der .env fuehrte sonst zum Start-Abbruch mit "Invalid URL" statt zum Standardwert. 14 neue Unit-Tests decken Antwortverarbeitung, Setnummern-Varianten und alle Fehlerfaelle der API ab (404, 401, 429, Netzwerk). Refs Phase 2 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
/**
|
||||
* Baseline environment for unit tests.
|
||||
*
|
||||
* src/env.ts validates on import and refuses to start on a bad configuration -
|
||||
* which is the point in production, but in tests every module that reads the
|
||||
* environment would fail before its first assertion. These are placeholders,
|
||||
* never anything a test asserts on.
|
||||
*
|
||||
* BASE_URL is overwritten unconditionally: Vite uses that very name for its
|
||||
* public base path and sets it to "/", which is not a URL. The clash only
|
||||
* exists under Vite-based tooling, never in the app itself.
|
||||
*/
|
||||
process.env.NODE_ENV ??= 'test';
|
||||
process.env.BASE_URL = 'http://localhost:3000';
|
||||
process.env.BETTER_AUTH_SECRET =
|
||||
process.env.BETTER_AUTH_SECRET || 'test-secret-mindestens-32-zeichen-lang-0123';
|
||||
process.env.DATA_DIR = process.env.DATA_DIR || './data-test';
|
||||
Reference in New Issue
Block a user