header.spec.tsx 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import {ProjectFixture} from 'sentry-fixture/project';
  2. import {initializeOrg} from 'sentry-test/initializeOrg';
  3. import {render, screen} from 'sentry-test/reactTestingLibrary';
  4. import PageFiltersStore from 'sentry/stores/pageFiltersStore';
  5. import ProjectsStore from 'sentry/stores/projectsStore';
  6. import AlertHeader from 'sentry/views/alerts/list/header';
  7. describe('AlertHeader', () => {
  8. const project = ProjectFixture();
  9. const {router, organization} = initializeOrg();
  10. beforeEach(() => {
  11. PageFiltersStore.init();
  12. PageFiltersStore.onInitializeUrlState(
  13. {
  14. projects: [parseInt(project.id, 10)],
  15. environments: [],
  16. datetime: {
  17. period: '7d',
  18. start: null,
  19. end: null,
  20. utc: null,
  21. },
  22. },
  23. new Set()
  24. );
  25. ProjectsStore.init();
  26. ProjectsStore.loadInitialData([project]);
  27. });
  28. it('should pass global selection project to create alert button', () => {
  29. render(<AlertHeader activeTab="stream" />, {
  30. router,
  31. organization,
  32. });
  33. expect(screen.getByRole('button', {name: 'Create Alert'})).toHaveAttribute(
  34. 'href',
  35. '/organizations/org-slug/alerts/wizard/?referrer=alert_stream&project=project-slug'
  36. );
  37. });
  38. });