diff --git a/public/app/features/alerting/unified/RuleList.test.tsx b/public/app/features/alerting/unified/RuleList.test.tsx index 32879cf4425..5ed14c39266 100644 --- a/public/app/features/alerting/unified/RuleList.test.tsx +++ b/public/app/features/alerting/unified/RuleList.test.tsx @@ -812,6 +812,7 @@ describe('RuleList', () => { expect(ui.exportButton.get()).toBeInTheDocument(); }); }); + describe('Grafana Managed Alerts', () => { it('New alert button should be visible when the user has alert rule create and folder read permissions and no rules exists', async () => { grantUserPermissions([ @@ -828,6 +829,7 @@ describe('RuleList', () => { renderRuleList(); await waitFor(() => expect(mocks.api.fetchRules).toHaveBeenCalledTimes(1)); + expect(ui.newRuleButton.get()).toBeInTheDocument(); }); @@ -903,33 +905,4 @@ describe('RuleList', () => { }); }); }); - - describe('Analytics', () => { - it('Sends log info when creating an alert rule from a scratch', async () => { - grantUserPermissions([ - AccessControlAction.FoldersRead, - AccessControlAction.AlertingRuleCreate, - AccessControlAction.AlertingRuleRead, - ]); - - mocks.getAllDataSourcesMock.mockReturnValue([]); - setDataSourceSrv(new MockDataSourceSrv({})); - mocks.api.fetchRules.mockResolvedValue([]); - mocks.api.fetchRulerRules.mockResolvedValue({}); - - renderRuleList(); - - await waitFor(() => expect(mocks.api.fetchRules).toHaveBeenCalledTimes(1)); - - const button = screen.getByText('New alert rule'); - - button.addEventListener('click', (event) => event.preventDefault(), false); - - expect(button).toBeEnabled(); - - await userEvent.click(button); - - expect(analytics.logInfo).toHaveBeenCalledWith(analytics.LogMessages.alertRuleFromScratch); - }); - }); }); diff --git a/public/app/features/alerting/unified/components/rules/NoRulesCTA.tsx b/public/app/features/alerting/unified/components/rules/NoRulesCTA.tsx index b9deb610400..38a4da4ce30 100644 --- a/public/app/features/alerting/unified/components/rules/NoRulesCTA.tsx +++ b/public/app/features/alerting/unified/components/rules/NoRulesCTA.tsx @@ -1,56 +1,46 @@ -import { css } from '@emotion/css'; +import { EmptyState, LinkButton, Stack, TextLink } from '@grafana/ui'; +import { Trans } from 'app/core/internationalization'; -import { GrafanaTheme2 } from '@grafana/data'; -import { CallToActionCard, useStyles2, Stack } from '@grafana/ui'; -import EmptyListCTA from 'app/core/components/EmptyListCTA/EmptyListCTA'; - -import { logInfo, LogMessages } from '../../Analytics'; import { useRulesAccess } from '../../utils/accessControlHooks'; export const NoRulesSplash = () => { const { canCreateGrafanaRules, canCreateCloudRules } = useRulesAccess(); - const styles = useStyles2(getStyles); - if (canCreateGrafanaRules || canCreateCloudRules) { - return ( -
{"You haven't created any alert rules yet"}
-