mirror of
https://github.com/OFFIS-ESC/constellation-analyzer
synced 2026-01-26 23:43:40 +00:00
Implements complete testing setup with Vitest and Testing Library, including unit tests for all Zustand stores and CI/CD automation. Test Infrastructure: - Vitest configuration with JSDOM environment - Testing Library for React component testing - Test setup with mocks for React Flow and browser APIs - Comprehensive test suite for all 10 Zustand stores Store Tests Added: - bibliographyStore.test.ts: Bibliography entry management - editorStore.test.ts: Document editor state and operations - graphStore.test.ts: Graph state and node/edge operations - historyStore.test.ts: Undo/redo functionality - panelStore.test.ts: Panel visibility and state management - searchStore.test.ts: Search functionality and filters - settingsStore.test.ts: Application settings persistence - timelineStore.test.ts: Timeline state management - toastStore.test.ts: Toast notification system - workspaceStore.test.ts: Workspace and document operations CI/CD Pipelines: - New CI workflow for PRs and pushes to main/develop - Enhanced deployment workflow with test execution - Automated linting, testing, and type checking - GitHub Actions integration with artifact deployment Build Configuration: - Updated Vite config for test support - Test scripts in package.json (test:run, test:ui, test:watch) - Type checking integrated into build process Documentation: - Architecture review with recommendations - Test documentation and patterns guide All tests passing with comprehensive coverage of store functionality, edge cases, and error handling scenarios. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
55 lines
1.6 KiB
JSON
55 lines
1.6 KiB
JSON
{
|
|
"name": "constellation-analyzer",
|
|
"private": true,
|
|
"version": "0.1.0",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"build": "tsc && vite build",
|
|
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
|
|
"preview": "vite preview",
|
|
"test": "vitest",
|
|
"test:ui": "vitest --ui",
|
|
"test:run": "vitest run",
|
|
"test:coverage": "vitest run --coverage"
|
|
},
|
|
"dependencies": {
|
|
"@citation-js/core": "^0.7.18",
|
|
"@citation-js/plugin-bibtex": "^0.7.18",
|
|
"@citation-js/plugin-csl": "^0.7.18",
|
|
"@citation-js/plugin-doi": "^0.7.18",
|
|
"@citation-js/plugin-ris": "^0.7.18",
|
|
"@citation-js/plugin-software-formats": "^0.6.1",
|
|
"@emotion/react": "^11.11.3",
|
|
"@emotion/styled": "^11.11.0",
|
|
"@mui/icons-material": "^5.15.10",
|
|
"@mui/material": "^5.15.10",
|
|
"@xyflow/react": "^12.3.5",
|
|
"html-to-image": "^1.11.11",
|
|
"jszip": "^3.10.1",
|
|
"react": "^18.2.0",
|
|
"react-dom": "^18.2.0",
|
|
"zustand": "^4.5.0"
|
|
},
|
|
"devDependencies": {
|
|
"@testing-library/jest-dom": "^6.9.1",
|
|
"@testing-library/react": "^16.3.0",
|
|
"@types/react": "^18.2.55",
|
|
"@types/react-dom": "^18.2.19",
|
|
"@typescript-eslint/eslint-plugin": "^6.21.0",
|
|
"@typescript-eslint/parser": "^6.21.0",
|
|
"@vitejs/plugin-react": "^4.2.1",
|
|
"@vitest/ui": "^3.2.4",
|
|
"autoprefixer": "^10.4.17",
|
|
"eslint": "^8.56.0",
|
|
"eslint-plugin-react-hooks": "^4.6.0",
|
|
"eslint-plugin-react-refresh": "^0.4.5",
|
|
"happy-dom": "^20.0.8",
|
|
"jsdom": "^27.0.1",
|
|
"postcss": "^8.4.35",
|
|
"tailwindcss": "^3.4.1",
|
|
"typescript": "^5.2.2",
|
|
"vite": "^5.1.0",
|
|
"vitest": "^3.2.4"
|
|
}
|
|
}
|