create.spec.jsx 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. import {initializeOrg} from 'sentry-test/initializeOrg';
  2. import {render} from 'sentry-test/reactTestingLibrary';
  3. import MetricRulesCreate from 'sentry/views/alerts/rules/metric/create';
  4. describe('Incident Rules Create', function () {
  5. let eventStatsMock;
  6. beforeEach(function () {
  7. MockApiClient.clearMockResponses();
  8. MockApiClient.addMockResponse({
  9. url: '/organizations/org-slug/tags/',
  10. body: [],
  11. });
  12. MockApiClient.addMockResponse({
  13. url: '/organizations/org-slug/users/',
  14. body: [],
  15. });
  16. MockApiClient.addMockResponse({
  17. url: '/projects/org-slug/project-slug/environments/',
  18. body: [],
  19. });
  20. eventStatsMock = MockApiClient.addMockResponse({
  21. url: '/organizations/org-slug/events-stats/',
  22. body: TestStubs.EventsStats(),
  23. });
  24. MockApiClient.addMockResponse({
  25. url: '/organizations/org-slug/alert-rules/available-actions/',
  26. body: [
  27. {
  28. allowedTargetTypes: ['user', 'team'],
  29. integrationName: null,
  30. type: 'email',
  31. integrationId: null,
  32. },
  33. ],
  34. });
  35. });
  36. it('renders', function () {
  37. const {organization, project} = initializeOrg();
  38. MockApiClient.warnOnMissingMocks();
  39. render(
  40. <MetricRulesCreate
  41. params={{orgId: organization.slug, projectId: project.slug}}
  42. organization={organization}
  43. project={project}
  44. userTeamIds={[]}
  45. />
  46. );
  47. expect(eventStatsMock).toHaveBeenCalledWith(
  48. expect.anything(),
  49. expect.objectContaining({
  50. query: {
  51. interval: '60m',
  52. project: [2],
  53. query: 'event.type:error',
  54. statsPeriod: '10000m',
  55. yAxis: 'count()',
  56. referrer: 'api.organization-event-stats',
  57. },
  58. })
  59. );
  60. });
  61. });