mirror of
https://github.com/root-fr/jmap-webmail.git
synced 2026-09-23 16:01:15 +00:00
Contacts: - Contact groups/lists with JMAP members map and composer expansion - vCard import/export with RFC 6350 parser and duplicate detection - Bulk operations (multi-select, delete, group add, export) Search: - Advanced search panel with JMAP filter fields - Search chips for active filters visualization - Debounced inputs with AbortController deduplication Vacation: - JMAP VacationResponse singleton management - Settings tab with date range and message configuration - Sidebar indicator when vacation responder is active Auth: - TOTP 2FA support with Stalwart-compatible password$totp format Infrastructure: - Docker multi-stage build with standalone Next.js output - Structured server-side logger with text/JSON format - CSP Report-Only and security headers via proxy middleware - Layout refactoring (HTML structure in root layout) - Playwright E2E framework setup Testing: 450+ tests (identity, contacts, vCard, threads, headers, components) i18n: All new strings added to all 8 locales
19 lines
434 B
TypeScript
19 lines
434 B
TypeScript
import '@testing-library/jest-dom';
|
|
import { cleanup } from '@testing-library/react';
|
|
import { afterEach, vi } from 'vitest';
|
|
|
|
vi.mock('next-intl', () => ({
|
|
useTranslations: () => (key: string) => key,
|
|
useLocale: () => 'en',
|
|
}));
|
|
|
|
vi.mock('next/navigation', () => ({
|
|
useRouter: () => ({ push: vi.fn(), back: vi.fn() }),
|
|
useParams: () => ({ locale: 'en' }),
|
|
usePathname: () => '/en',
|
|
}));
|
|
|
|
afterEach(() => {
|
|
cleanup();
|
|
});
|