diff --git a/apps/web/src/test/setup.ts b/apps/web/src/test/setup.ts index ee153bb..a7cf431 100644 --- a/apps/web/src/test/setup.ts +++ b/apps/web/src/test/setup.ts @@ -1,5 +1,6 @@ -import { expect } from 'vitest'; import * as matchers from '@testing-library/jest-dom/matchers'; +import { configure } from '@testing-library/react'; +import { expect } from 'vitest'; // Explicitly extend vitest's expect with jest-dom matchers. // Using the explicit extend approach (not @testing-library/jest-dom/vitest) for @@ -7,6 +8,12 @@ import * as matchers from '@testing-library/jest-dom/matchers'; // expect instance in vitest 4's module resolution). expect.extend(matchers); +// findBy*/waitFor warten standardmaessig nur 1 s. Im CI laufen alle Testdateien parallel auf +// einem ausgelasteten Runner; Rollenabfragen auf grossen Seiten brauchten dort laenger und +// liessen wechselnde Tests rot werden (Laeufe 513/514 am 09.10.2026: domains-page, +// nextcloud-files-page). 5 s Spielraum aendert nichts am Ergebnis gruener Tests. +configure({ asyncUtilTimeout: 5000 }); + // Type augmentation for the custom matchers (adds toBeInTheDocument, etc.) // This import only carries type declarations — no runtime effect. import '@testing-library/jest-dom/vitest'; diff --git a/apps/web/vitest.config.ts b/apps/web/vitest.config.ts index de8ee8d..76d6e41 100644 --- a/apps/web/vitest.config.ts +++ b/apps/web/vitest.config.ts @@ -1,5 +1,5 @@ -import react from '@vitejs/plugin-react'; import { resolve } from 'node:path'; +import react from '@vitejs/plugin-react'; import { defineConfig } from 'vitest/config'; export default defineConfig({ @@ -14,6 +14,9 @@ export default defineConfig({ globals: true, setupFiles: ['./src/test/setup.ts'], css: false, + // Passend zur laengeren Wartezeit in src/test/setup.ts: ein Test mit mehreren Wartestellen + // darf unter CI-Last laenger als die vorgegebenen 5 s brauchen. + testTimeout: 15000, server: { deps: { inline: ['react-grid-layout', 'react-resizable', '@uiw/react-md-editor'],