diff --git a/apps/ui/src/components/settings-view/index.test.tsx b/apps/ui/src/components/settings-view/index.test.tsx new file mode 100644 index 0000000000..fc0aacf4a9 --- /dev/null +++ b/apps/ui/src/components/settings-view/index.test.tsx @@ -0,0 +1,693 @@ +import '@testing-library/jest-dom/vitest'; +import { useBlocker } from '@tanstack/react-router'; +import { fireEvent, render, screen, waitFor } from '@testing-library/react'; +import { beforeEach, describe, expect, it, vi } from 'vitest'; +import { useConnector } from '@/data/core'; +import { useAppGlobals } from '@/data/queries/use-app-globals'; +import { useAuthUser, useLogin, useLogout } from '@/data/queries/use-auth-user'; +import { useInstalledApps } from '@/data/queries/use-installed-apps'; +import { + useDeleteAllSnapshots, + useSnapshotUsage, + useSnapshots, +} from '@/data/queries/use-snapshots'; +import { useSaveUserPreferences, useUserPreferences } from '@/data/queries/use-user-preferences'; +import { + useInstallAllWordPressSkills, + useInstallWordPressSkill, + useRemoveWordPressSkill, + useWordPressSkills, +} from '@/data/queries/use-wordpress-skills'; +import { useOffline } from '@/hooks/use-offline'; +import { SettingsView, normalizeSettingsTab } from './index'; +import type { ButtonHTMLAttributes, InputHTMLAttributes, ReactNode } from 'react'; + +vi.mock( '@tanstack/react-router', () => ( { + useBlocker: vi.fn(), +} ) ); + +vi.mock( '@wordpress/components', () => ( { + FormToggle: ( props: { + id?: string; + checked: boolean; + 'aria-label'?: string; + onChange: ( event: { target: { checked: boolean } } ) => void; + } ) => ( + props.onChange( { target: { checked: event.target.checked } } ) } + /> + ), +} ) ); + +vi.mock( '@wordpress/ui', () => ( { + Button: ( { + children, + loading, + loadingAnnouncement, + tone, + variant, + size, + ...props + }: ButtonHTMLAttributes< HTMLButtonElement > & { + children?: ReactNode; + loading?: boolean; + loadingAnnouncement?: string; + tone?: string; + variant?: string; + size?: string; + } ) => { + void tone; + void variant; + void size; + return ; + }, + Icon: () =>