vitest.setup.ts 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. import { vi } from 'vitest';
  2. import React from 'react';
  3. vi.mock('react-i18next', () => ({
  4. useTranslation: () => ({
  5. t: (key: string, options?: Record<string, unknown>) => {
  6. if (typeof options?.defaultValue === 'string') {
  7. return options.defaultValue;
  8. }
  9. if (key === 'messageTypes.error') return 'Error';
  10. if (key === 'messageTypes.pilotdeck') return 'PilotDeck';
  11. if (key === 'permissions.grant') return `Grant ${String(options?.tool || 'tool')} for this chat`;
  12. if (key === 'permissions.openSettings') return 'Open settings';
  13. if (key === 'permissions.addTo') return `Temporarily allows ${String(options?.entry || '')} in this chat only.`;
  14. if (key === 'permissions.added') return 'Granted for this chat';
  15. if (key === 'permissions.retry') return 'Retry in this chat to use the tool.';
  16. if (key === 'permissions.error') return 'Unable to grant this chat permission. Please try again.';
  17. return key;
  18. },
  19. }),
  20. }));
  21. vi.mock('react-markdown', () => ({
  22. default: ({ children }: { children?: React.ReactNode }) => React.createElement(React.Fragment, null, children),
  23. }));
  24. const MockIcon = ({ children: _children, ...props }: React.SVGProps<SVGSVGElement>) =>
  25. React.createElement('svg', props);
  26. vi.mock('lucide-react', () => ({
  27. Activity: MockIcon,
  28. AlertCircle: MockIcon,
  29. AlertTriangle: MockIcon,
  30. ArrowUp: MockIcon,
  31. AtSign: MockIcon,
  32. Atom: MockIcon,
  33. Bot: MockIcon,
  34. Box: MockIcon,
  35. Brain: MockIcon,
  36. Check: MockIcon,
  37. CheckCircle2: MockIcon,
  38. ChevronLeft: MockIcon,
  39. ChevronDown: MockIcon,
  40. ChevronRight: MockIcon,
  41. Circle: MockIcon,
  42. CircleGauge: MockIcon,
  43. ClipboardList: MockIcon,
  44. Clock: MockIcon,
  45. Command: MockIcon,
  46. Copy: MockIcon,
  47. FolderGit2: MockIcon,
  48. Hand: MockIcon,
  49. HelpCircle: MockIcon,
  50. LayoutGrid: MockIcon,
  51. ListChecks: MockIcon,
  52. Loader2: MockIcon,
  53. MessageSquareText: MockIcon,
  54. Paperclip: MockIcon,
  55. Pencil: MockIcon,
  56. Pin: MockIcon,
  57. Search: MockIcon,
  58. ShieldAlert: MockIcon,
  59. Sparkles: MockIcon,
  60. Square: MockIcon,
  61. Terminal: MockIcon,
  62. User: MockIcon,
  63. Wrench: MockIcon,
  64. XCircle: MockIcon,
  65. Zap: MockIcon,
  66. }));