setup.ts 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import '@testing-library/jest-dom';
  2. import { vi } from 'vitest';
  3. // Mock React Hook Form to avoid prop warnings
  4. vi.mock('react-hook-form', () => ({
  5. ...vi.importActual('react-hook-form'),
  6. useForm: vi.fn().mockReturnValue({
  7. register: vi.fn(),
  8. handleSubmit: vi.fn((fn) => fn),
  9. control: {},
  10. formState: { errors: {} },
  11. reset: vi.fn(),
  12. setValue: vi.fn(),
  13. getValues: vi.fn(),
  14. watch: vi.fn()
  15. }),
  16. Controller: ({ render }: any) => render({ field: {} }),
  17. FormProvider: ({ children }: any) => children
  18. }));
  19. // Mock TanStack Query
  20. vi.mock('@tanstack/react-query', () => ({
  21. ...vi.importActual('@tanstack/react-query'),
  22. useQuery: vi.fn().mockReturnValue({
  23. data: null,
  24. isLoading: false,
  25. isError: false,
  26. error: null,
  27. refetch: vi.fn()
  28. }),
  29. useMutation: vi.fn().mockReturnValue({
  30. mutate: vi.fn(),
  31. mutateAsync: vi.fn(),
  32. isPending: false,
  33. isError: false,
  34. error: null
  35. }),
  36. useQueryClient: vi.fn().mockReturnValue({
  37. invalidateQueries: vi.fn(),
  38. setQueryData: vi.fn()
  39. })
  40. }));
  41. // Mock sonner
  42. vi.mock('sonner', () => ({
  43. toast: {
  44. success: vi.fn(),
  45. error: vi.fn(),
  46. warning: vi.fn(),
  47. info: vi.fn()
  48. }
  49. }));