organizationRoot.spec.jsx 1.3 KB

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