test: Fundament mit Vitest fuer die reine Logik
51 Tests, unter einer Sekunde, ohne DOM, Datenbank oder laufenden Server. Abgedeckt sind die Stellen, an denen ein Fehler teuer waere: - Slug-Erzeugung mit Umlauten, Tag-Aufbereitung, Textkuerzung - URL-Zerlegung fuer https, SSH, verschachtelte GitLab-Gruppen und Oberflaechenpfade; Provider-Erkennung; Bildung der Aktivitaetskurve - SSRF-Sperrlisten: Loopback, Link-Local samt Metadaten-Endpunkt, CGNAT, Multicast, IPv4-gemappte IPv6-Adressen; Formpruefung; alle drei Umgebungsschalter - Passwoerter: scrypt-Rundlauf, unterschiedliches Salz je Hash, Ablageformat, Verhalten bei kaputten Hashes, Unicode-Normalisierung, Passwortregeln Bewusst ohne Datenbank- und Browsertests - die brauchen Infrastruktur und gehoeren in eine Pipeline. Steht als naechster Punkt in der ROADMAP. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
import { defineConfig } from "vitest/config";
|
||||
import { fileURLToPath } from "node:url";
|
||||
|
||||
export default defineConfig({
|
||||
test: {
|
||||
// Reine Logik, kein DOM und keine Datenbank – die Tests laufen in
|
||||
// Millisekunden und brauchen weder Server noch Container.
|
||||
environment: "node",
|
||||
include: ["src/**/*.test.ts"],
|
||||
},
|
||||
resolve: {
|
||||
alias: {
|
||||
"@": fileURLToPath(new URL("./src", import.meta.url)),
|
||||
},
|
||||
},
|
||||
});
|
||||
Reference in New Issue
Block a user