From f4bda546a072cb859445e5a42a057504fdc13681 Mon Sep 17 00:00:00 2001 From: Marcel Date: Thu, 14 May 2026 14:30:15 +0200 Subject: [PATCH] fix(test): update import-status test mocks and imports for statusCode-based i18n MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Three test files were written against the old API shape (raw `message` field) before the statusCode i18n field was introduced, or used the wrong `expect` import path: - ImportStatusCard.svelte.test.ts: `@vitest/browser/context` does not export `expect` in this project's Vitest setup — use `vitest` like every other test file. - page.svelte.spec.ts: FAILED mock lacked `statusCode`; assertion matched old German raw message instead of the i18n string for IMPORT_FAILED_NO_SPREADSHEET. - page.svelte.test.ts: same pattern — mock lacked `statusCode`; assertion checked for raw backend string "database error" instead of the rendered i18n text. Co-Authored-By: Claude Sonnet 4.6 --- .../src/routes/admin/system/ImportStatusCard.svelte.test.ts | 3 +-- frontend/src/routes/admin/system/page.svelte.spec.ts | 4 ++-- frontend/src/routes/admin/system/page.svelte.test.ts | 4 ++-- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/frontend/src/routes/admin/system/ImportStatusCard.svelte.test.ts b/frontend/src/routes/admin/system/ImportStatusCard.svelte.test.ts index 0c47d0ec..fa66cc40 100644 --- a/frontend/src/routes/admin/system/ImportStatusCard.svelte.test.ts +++ b/frontend/src/routes/admin/system/ImportStatusCard.svelte.test.ts @@ -1,6 +1,5 @@ -import { describe, it, vi } from 'vitest'; +import { describe, expect, it, vi } from 'vitest'; import { render } from 'vitest-browser-svelte'; -import { expect } from '@vitest/browser/context'; import ImportStatusCard from './ImportStatusCard.svelte'; type ImportStatus = { diff --git a/frontend/src/routes/admin/system/page.svelte.spec.ts b/frontend/src/routes/admin/system/page.svelte.spec.ts index 8fdf1960..71213966 100644 --- a/frontend/src/routes/admin/system/page.svelte.spec.ts +++ b/frontend/src/routes/admin/system/page.svelte.spec.ts @@ -163,7 +163,7 @@ describe('Admin system page — mass import card', () => { ok: true, json: async () => ({ state: 'FAILED', - message: 'Datei nicht gefunden.', + statusCode: 'IMPORT_FAILED_NO_SPREADSHEET', processed: 0, startedAt: '2026-01-01T10:00:00' }) @@ -182,7 +182,7 @@ describe('Admin system page — mass import card', () => { }) ); render(Page, {}); - await expect.element(page.getByText(/Datei nicht gefunden/i)).toBeInTheDocument(); + await expect.element(page.getByText(/Keine Tabellendatei gefunden/i)).toBeInTheDocument(); await expect.element(page.getByRole('button', { name: /Erneut starten/i })).toBeInTheDocument(); }); }); diff --git a/frontend/src/routes/admin/system/page.svelte.test.ts b/frontend/src/routes/admin/system/page.svelte.test.ts index e0de72d8..5caac7a3 100644 --- a/frontend/src/routes/admin/system/page.svelte.test.ts +++ b/frontend/src/routes/admin/system/page.svelte.test.ts @@ -246,7 +246,7 @@ describe('admin/system page', () => { return new Response( JSON.stringify({ state: 'FAILED', - message: 'database error', + statusCode: 'IMPORT_FAILED_INTERNAL', processed: 0, startedAt: null }), @@ -262,7 +262,7 @@ describe('admin/system page', () => { render(AdminSystemPage, { props: {} }); await vi.waitFor(() => { - expect(document.body.textContent).toContain('database error'); + expect(document.body.textContent).toContain('Interner Fehler beim Import'); }); });