Files
cc-switch/tests/setupTests.ts
Jason bbf830a1da test: add frontend testing infrastructure with vitest
- Introduce Vitest + React Testing Library + jsdom environment
- Add useDragSort hook unit tests covering:
  * Sorting logic (sortIndex → createdAt → name)
  * Successful drag operation (API call + cache invalidation)
  * Failed drag operation (error toast display)
  * Edge case (no valid target, no API call)
- Configure global test setup (i18n mock, auto cleanup)
- Update TypeScript configs to include tests/ directory
- Add test development plan documentation

Test Coverage:
  ✓ Provider drag-and-drop sorting core logic
  ✓ React Query cache refresh
  ✓ Toast notification display
  ✓ Boundary condition handling

Test Results: 4/4 passed (671ms)
Next Steps: Sprint 2 - component tests with MSW mock layer
2025-10-25 10:08:06 +08:00

24 lines
502 B
TypeScript

import "@testing-library/jest-dom";
import { afterEach, beforeAll } from "vitest";
import { cleanup } from "@testing-library/react";
import i18n from "i18next";
import { initReactI18next } from "react-i18next";
beforeAll(async () => {
await i18n.use(initReactI18next).init({
lng: "zh",
fallbackLng: "zh",
resources: {
zh: { translation: {} },
en: { translation: {} },
},
interpolation: {
escapeValue: false,
},
});
});
afterEach(() => {
cleanup();
});