waffensachkunde
Waffensachkunde – Lernsoftware für die Sachkundeprüfung nach § 7 WaffG. Barrierefrei, offline, EUPL-1.2.
| 1 | import { resolve } from 'node:path'; |
| 2 | |
| 3 | import react from '@vitejs/plugin-react'; |
| 4 | import { defineConfig } from 'vitest/config'; |
| 5 | |
| 6 | export default defineConfig({ |
| 7 | plugins: [react()], |
| 8 | resolve: { |
| 9 | alias: { |
| 10 | '@renderer': resolve(__dirname, 'src/renderer/src'), |
| 11 | '@shared': resolve(__dirname, 'src/shared'), |
| 12 | }, |
| 13 | }, |
| 14 | test: { |
| 15 | // Unit-Tests laufen in jsdom; die E2E-Tests (Playwright, echtes Electron) |
| 16 | // liegen unter e2e/ und werden hier bewusst ausgeschlossen. |
| 17 | environment: 'jsdom', |
| 18 | globals: false, |
| 19 | include: ['tests/**/*.test.{ts,tsx}'], |
| 20 | exclude: ['node_modules/**', 'out/**', 'e2e/**'], |
| 21 | setupFiles: ['./tests/setup.ts'], |
| 22 | restoreMocks: true, |
| 23 | coverage: { |
| 24 | provider: 'v8', |
| 25 | reportsDirectory: 'coverage', |
| 26 | include: ['src/**/*.{ts,tsx}'], |
| 27 | exclude: ['src/**/*.d.ts'], |
| 28 | /* |
| 29 | Die Schwellen sind eine Sperre gegen Rückschritt, kein Wunschwert. |
| 30 | |
| 31 | Erstmessung am 27.08.2026, Stand 0.21.0 (1235 Tests in 46 Dateien): |
| 32 | Statements 77,87 – Branches 73,59 – Functions 77,11 – Lines 77,86. |
| 33 | Nach dem Schließen der Lücke in `pruefung/bogen.ts` und mit den |
| 34 | Tests desselben Tages (1260 Tests in 47 Dateien): Statements 78,68 – |
| 35 | Branches 73,93 – Functions 78,04 – Lines 78,62. |
| 36 | |
| 37 | Eingetragen ist bewusst die niedrigere Erstmessung, abgerundet: Sie |
| 38 | hält auch dann, wenn gerade laufende Arbeiten am Baum die Zahlen |
| 39 | kurzzeitig drücken. Eine Schwelle, die beim ersten Lauf rot ist, |
| 40 | wird abgeschaltet und bewacht danach gar nichts mehr – dieselbe |
| 41 | Überlegung wie bei den stummen Wachen. Sobald der Baum ruhig ist, |
| 42 | dürfen die Zahlen auf die höhere Messung nachgezogen werden. |
| 43 | |
| 44 | Wer die Abdeckung hebt, darf die Zahlen nachziehen; wer sie senkt, |
| 45 | muss es begründen. Absichtlich nicht bei 100: Der Hauptprozess |
| 46 | (Fenster, Menü, Dialoge, Druck) wird von Playwright gefahren, nicht |
| 47 | von Vitest, und taucht hier deshalb als Lücke auf, obwohl er geprüft |
| 48 | ist – siehe docs/stand.md. |
| 49 | */ |
| 50 | thresholds: { |
| 51 | statements: 77, |
| 52 | branches: 73, |
| 53 | functions: 76, |
| 54 | lines: 77, |
| 55 | }, |
| 56 | }, |
| 57 | }, |
| 58 | }); |