BLOCKER-001: Token Refresh Improvements (FASE 4 frontend) - Proactive refresh scheduler: refresh 5min before token expiry - Multi-tab synchronization with BroadcastChannel API - Automatic scheduling on X-Token-Expires-At header reception - Background token refresh to prevent user interruption E2E Tests: Video Upload Module (frontend - 62 tests) - Suite 1: Form tests (27 tests) - 3-step wizard validation - Suite 2: Service tests (20 tests) - Multipart upload logic - Suite 3: Integration tests (15 tests) - Complete flow validation Test infrastructure: - vitest.config.ts (NEW) - Vitest configuration with jsdom - src/__tests__/setup.ts (NEW) - Global test setup and mocks - Updated payments-stripe-elements.test.tsx to use Vitest (vi.mock) Changes: - apiClient.ts: Proactive refresh scheduler + BroadcastChannel sync - payments-stripe-elements.test.tsx: Migrated from Jest to Vitest Tests created: - video-upload-form.test.tsx (27 tests) - Component validation - video-upload-service.test.ts (20 tests) - Service logic validation - video-upload-integration.test.tsx (15 tests) - Integration flow Additional documentation: - Module README.md files for assistant, auth, education, investment, payments, portfolio, trading - Investment module: Analysis, contracts, gaps, delivery documentation - Payments module: Stripe integration, wallet specification Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
30 lines
609 B
TypeScript
30 lines
609 B
TypeScript
import { defineConfig } from 'vitest/config';
|
|
import react from '@vitejs/plugin-react';
|
|
import path from 'path';
|
|
|
|
export default defineConfig({
|
|
plugins: [react()],
|
|
test: {
|
|
globals: true,
|
|
environment: 'jsdom',
|
|
setupFiles: ['./src/__tests__/setup.ts'],
|
|
coverage: {
|
|
provider: 'v8',
|
|
reporter: ['text', 'json', 'html'],
|
|
exclude: [
|
|
'node_modules/',
|
|
'src/__tests__/',
|
|
'**/*.d.ts',
|
|
'**/*.config.*',
|
|
'**/mockData',
|
|
'dist/',
|
|
],
|
|
},
|
|
},
|
|
resolve: {
|
|
alias: {
|
|
'@': path.resolve(__dirname, './src'),
|
|
},
|
|
},
|
|
});
|