import {UptimeRuleFixture} from 'sentry-fixture/uptimeRule'; import {initializeOrg} from 'sentry-test/initializeOrg'; import {render, screen} from 'sentry-test/reactTestingLibrary'; import UptimeAlertDetails from './details'; describe('UptimeAlertDetails', function () { const {organization, project, routerProps} = initializeOrg(); beforeEach(function () { MockApiClient.addMockResponse({ url: `/organizations/${organization.slug}/projects/`, body: [project], }); MockApiClient.addMockResponse({ url: `/organizations/${organization.slug}/users/`, body: [], }); MockApiClient.addMockResponse({ url: `/organizations/${organization.slug}/issues/?limit=20&project=${project.id}&query=issue.category%3Auptime%20tags%5Buptime_rule%5D%3A1&statsPeriod=14d`, body: [], }); }); it('renders', async function () { MockApiClient.addMockResponse({ url: `/projects/${organization.slug}/${project.slug}/uptime/1/`, body: UptimeRuleFixture({name: 'Uptime Test Rule'}), }); render( , {organization} ); expect(await screen.findAllByText('Uptime Test Rule')).toHaveLength(2); }); it('shows a message for invalid uptime alert', async function () { MockApiClient.addMockResponse({ url: `/projects/${organization.slug}/${project.slug}/uptime/2/`, statusCode: 404, }); render( , {organization} ); expect( await screen.findByText('The uptime alert rule you were looking for was not found.') ).toBeInTheDocument(); }); });