organizationRoot.spec.jsx 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import {mountWithTheme} from 'sentry-test/enzyme';
  2. import {setLastRoute} from 'sentry/actionCreators/navigation';
  3. import {setActiveProject} from 'sentry/actionCreators/projects';
  4. import {OrganizationRoot} from 'sentry/views/organizationRoot';
  5. jest.mock('sentry/actionCreators/projects', () => ({
  6. setActiveProject: jest.fn(),
  7. }));
  8. jest.mock('sentry/actionCreators/navigation', () => ({
  9. setLastRoute: jest.fn(),
  10. }));
  11. describe('OrganizationRoot', function () {
  12. it('sets active project as null when mounted', function () {
  13. mountWithTheme(<OrganizationRoot location={{}}>{null}</OrganizationRoot>);
  14. expect(setActiveProject).toHaveBeenCalledWith(null);
  15. });
  16. it('calls `setLastRoute` when unmounted', function () {
  17. const wrapper = mountWithTheme(
  18. <OrganizationRoot location={{pathname: '/org-slug/dashboard/'}}>
  19. {null}
  20. </OrganizationRoot>
  21. );
  22. wrapper.unmount();
  23. expect(setLastRoute).toHaveBeenCalledWith('/org-slug/dashboard/');
  24. });
  25. it('calls `setLastRoute` when unmounted with query string', function () {
  26. const wrapper = mountWithTheme(
  27. <OrganizationRoot location={{pathname: '/org-slug/dashboard/', search: '?test=1'}}>
  28. {null}
  29. </OrganizationRoot>
  30. );
  31. wrapper.unmount();
  32. expect(setLastRoute).toHaveBeenCalledWith('/org-slug/dashboard/?test=1');
  33. });
  34. });