test: run the suite and benchmark with Bun's native test runner

Replace Vitest with bun test across the whole suite. A preload compiles
components through Angular's JIT transform with inlined templates, sets
up jsdom, TestBed and zoneless change detection, and a small shim covers
the Vitest APIs bun:test lacks. Files run isolated, real-worker specs
spawn the running Bun, and line coverage from lcov is converted to the
existing HTML and Cobertura reports. The CI benchmark replaces its heap
cap with a container memory limit. Vitest, Jest, Nx and their Vite
configuration are removed.

Refs #291

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
nessarandClaude Opus 5.5 committed 2026-10-17 13:40:42 +02:00
1 parent 558c70aa24
commit 94d57add2c
44 files changed
+446 -6481

No files matched your search

@@ -1,5 +1,5 @@
import { createOptimizationPresetRules } from './rule-service';
import { vi } from 'vitest';
import { vi } from '../../testing/vitest-compat';
import {
PlanningOutcome,
PlanningRequest,
@@ -1562,7 +1562,11 @@ describe('planLeave', () => {
const { isWorkingPlanningDate } = await import('./declared-non-working-days');
const { addPlanningDays } = await import('./planning-date');
const declaredDays: NonNullable<PlanningRequest['declaredDays']>[number][] = [];
for (let date = declaredStart; date < declaredEnd; date = addPlanningDays(date, 1))
for (
let date: string = declaredStart;
date < declaredEnd;
date = addPlanningDays(date, 1)
)
if (isWorkingPlanningDate(date)) declaredDays.push({ date, type: 'other' });
const result = isPlan(
await runInNonBrowser({ horizon, balances: [], rules: [], declaredDays }),