Submit
Path:
~
/
/
usr
/
share
/
grafana
/
public
/
app
/
features
/
alerting
/
unified
/
components
/
panel-alerts-tab
/
File Content:
NewRuleFromPanelButton.test.tsx
import { render, screen } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; import React from 'react'; import { PanelModel } from 'app/features/dashboard/state'; import { createDashboardModelFixture } from 'app/features/dashboard/state/__fixtures__/dashboardFixtures'; import * as analytics from '../../Analytics'; import { NewRuleFromPanelButton } from './NewRuleFromPanelButton'; jest.mock('app/types', () => { const original = jest.requireActual('app/types'); return { ...original, useSelector: jest.fn(), }; }); jest.mock('react-router-dom', () => ({ useLocation: () => ({ pathname: 'localhost:3000/example/path', }), })); jest.spyOn(analytics, 'logInfo'); jest.mock('react-use', () => ({ useAsync: () => ({ loading: false, value: {} }), })); describe('Analytics', () => { it('Sends log info when creating an alert rule from a panel', async () => { const panel = new PanelModel({ id: 123, }); const dashboard = createDashboardModelFixture({ id: 1, }); render(<NewRuleFromPanelButton panel={panel} dashboard={dashboard} />); const button = screen.getByText('New alert rule'); button.addEventListener('click', (event) => event.preventDefault(), false); await userEvent.click(button); expect(analytics.logInfo).toHaveBeenCalledWith(analytics.LogMessages.alertRuleFromPanel); }); });
Edit
Rename
Chmod
Delete
FILE
FOLDER
INFO
Name
Size
Permission
Action
NewRuleFromPanelButton.test.tsx
1406 bytes
0644
NewRuleFromPanelButton.tsx
1756 bytes
0644
N4ST4R_ID | Naxtarrr