import { screen, waitFor, within } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { toast } from 'sonner' import { beforeEach, describe, expect, it, vi } from 'vitest' import { TEMPLATES_SCHEMAS } from './AuthTemplatesValidation' import { TemplateEditor } from './TemplateEditor' import { render } from '@/tests/helpers' const { resetTemplateMock, updateAuthConfigMock, useAuthConfigQueryMock, useAuthTemplateResetMutationMock, useAuthConfigUpdateMutationMock, useAsyncCheckPermissionsMock, validateSpamMock, } = vi.hoisted(() => ({ resetTemplateMock: vi.fn(), updateAuthConfigMock: vi.fn(), useAuthConfigQueryMock: vi.fn(), useAuthTemplateResetMutationMock: vi.fn(), useAuthConfigUpdateMutationMock: vi.fn(), useAsyncCheckPermissionsMock: vi.fn(), validateSpamMock: vi.fn(), })) vi.mock(import('common'), async (importOriginal) => { const actual = await importOriginal() return { ...actual, useParams: vi.fn().mockReturnValue({ ref: 'project-ref' }), } }) vi.mock('@/components/ui/CodeEditor/CodeEditor', () => ({ CodeEditor: ({ value, onInputChange, }: { value: string onInputChange: (value: string) => void }) => (