feat: Quickstart, Benutzerverwaltung und Orion-Ergebnisbox
This commit is contained in:
parent
4f669a3426
commit
e9e46f2cb4
404 changed files with 1032 additions and 600 deletions
|
|
@ -0,0 +1,45 @@
|
|||
import assert from "node:assert/strict";
|
||||
import fs from "node:fs";
|
||||
import path from "node:path";
|
||||
import test from "node:test";
|
||||
|
||||
const resultSource = fs.readFileSync(path.resolve("lib/validation-result.tsx"), "utf8");
|
||||
const dashboardSource = fs.readFileSync(path.resolve("app/(app)/dashboard/page.tsx"), "utf8");
|
||||
const validationsSource = fs.readFileSync(path.resolve("app/(app)/validations/page.tsx"), "utf8");
|
||||
const editorSource = fs.readFileSync(path.resolve("components/validations/validation-editor.tsx"), "utf8");
|
||||
|
||||
test("central validation result mapping covers supported values and colors", () => {
|
||||
for (const value of ["BESTANDEN", "BESTANDEN_MIT_AUFLAGEN", "NICHT_BESTANDEN", "OFFEN"]) {
|
||||
assert.match(resultSource, new RegExp(value));
|
||||
}
|
||||
for (const label of ["Bestanden", "Bestanden mit Auflagen", "Nicht bestanden", "Noch nicht bewertet"]) {
|
||||
assert.match(resultSource, new RegExp(label));
|
||||
}
|
||||
for (const token of ["bg-success", "bg-warning", "bg-danger", "bg-slate"]) {
|
||||
assert.match(resultSource, new RegExp(token));
|
||||
}
|
||||
});
|
||||
|
||||
test("validations overview renders result badge from central mapping", () => {
|
||||
assert.match(validationsSource, /ValidationResultBadge/);
|
||||
assert.match(validationsSource, /validationResultValues\.map/);
|
||||
assert.doesNotMatch(validationsSource, /<option value="mit_auflagen">/);
|
||||
assert.doesNotMatch(validationsSource, /<option value="nicht_bestanden">/);
|
||||
});
|
||||
|
||||
test("dashboard renders result badges from central mapping", () => {
|
||||
assert.match(dashboardSource, /ValidationResultBadge/);
|
||||
assert.match(dashboardSource, /validation_result_passed/);
|
||||
assert.match(dashboardSource, /validation_result_conditional/);
|
||||
assert.match(dashboardSource, /validation_result_failed/);
|
||||
assert.match(dashboardSource, /validation_result_open/);
|
||||
});
|
||||
|
||||
test("editor uses central options and inline result preview", () => {
|
||||
assert.match(editorSource, /validationResultValues\.map/);
|
||||
assert.match(editorSource, /selectedResult\.previewClass/);
|
||||
assert.match(editorSource, /selectedResult\.label/);
|
||||
assert.match(editorSource, /normalizeValidationResult\(data\.result\)/);
|
||||
assert.doesNotMatch(editorSource, /<option value="offen">/);
|
||||
assert.doesNotMatch(editorSource, /<option value="mit_auflagen">/);
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue