import { render, screen, waitFor } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; import { Provider } from 'react-redux'; import { Props } from 'react-virtualized-auto-sizer'; import { byRole, byTestId, byText } from 'testing-library-selector'; import { contextSrv } from 'app/core/services/context_srv'; import { configureStore } from 'app/store/configureStore'; import { AccessControlAction } from 'app/types'; import { CombinedRuleGroup, CombinedRuleNamespace, RulerDataSourceConfig } from 'app/types/unified-alerting'; import * as analytics from '../../Analytics'; import { GRAFANA_RULER_CONFIG } from '../../api/featureDiscoveryApi'; import { useHasRuler } from '../../hooks/useHasRuler'; import { mockExportApi, mockFolderApi, setupMswServer } from '../../mockApi'; import { grantUserPermissions, mockCombinedRule, mockDataSource, mockFolder, mockGrafanaRulerRule } from '../../mocks'; import { mimirDataSource } from '../../mocks/server/configure'; import { RulesGroup } from './RulesGroup'; jest.mock('../../hooks/useHasRuler'); jest.spyOn(analytics, 'logInfo'); jest.mock('react-virtualized-auto-sizer', () => { return ({ children }: Props) => children({ height: 600, scaledHeight: 600, scaledWidth: 1, width: 1, }); }); jest.mock('@grafana/ui', () => ({ ...jest.requireActual('@grafana/ui'), CodeEditor: ({ value }: { value: string }) =>