import { InitialEntry } from 'history/createMemoryHistory'; import * as React from 'react'; import { Route, Routes } from 'react-router-dom-v5-compat'; import { Props } from 'react-virtualized-auto-sizer'; import { render, screen, waitFor, within } from 'test/test-utils'; import { byLabelText, byRole } from 'testing-library-selector'; import { CodeEditor } from '@grafana/ui'; import { AppNotificationList } from 'app/core/components/AppNotifications/AppNotificationList'; import { setupMswServer } from 'app/features/alerting/unified/mockApi'; import { testWithFeatureToggles } from 'app/features/alerting/unified/test/test-utils'; import { AccessControlAction } from 'app/types'; import Templates from './Templates'; import { grantUserPermissions } from './mocks'; type CodeEditorProps = React.ComponentProps; jest.mock('app/core/components/AppChrome/AppChromeUpdate', () => ({ AppChromeUpdate: ({ actions }: { actions: React.ReactNode }) =>
{actions}
, })); //mock updateDefinesWithUniqueValue jest.mock('app/features/alerting/unified/utils/templates', () => ({ ...jest.requireActual('app/features/alerting/unified/utils/templates'), updateDefinesWithUniqueValue: (templateContent: string) => { return templateContent.replace(/custom-email/g, 'custom-email_NEW'); }, })); jest.mock( 'react-virtualized-auto-sizer', () => ({ children }: Props) => children({ width: 1000, height: 1000, scaledWidth: 1, scaledHeight: 1 }) ); jest.mock('@grafana/ui', () => ({ ...jest.requireActual('@grafana/ui'), CodeEditor: ({ value, onChange }: CodeEditorProps) => (