version.spec.jsx 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import {mountWithTheme} from 'sentry-test/enzyme';
  2. import Version from 'app/components/version';
  3. const VERSION = 'foo.bar.Baz@1.0.0+20200101';
  4. describe('Version', () => {
  5. const routerContext = TestStubs.routerContext();
  6. it('renders', () => {
  7. const wrapper = mountWithTheme(<Version version={VERSION} />, routerContext);
  8. expect(wrapper).toSnapshot();
  9. });
  10. it('shows correct parsed version', () => {
  11. // component uses @sentry/release-parser package for parsing versions
  12. const wrapper = mountWithTheme(<Version version={VERSION} />, routerContext);
  13. expect(wrapper.text()).toBe('1.0.0 (20200101)');
  14. });
  15. it('links to release page', () => {
  16. const wrapper = mountWithTheme(
  17. <Version version={VERSION} projectId="1" />,
  18. routerContext
  19. );
  20. expect(wrapper.find('Link').first().prop('to')).toEqual({
  21. pathname: '/organizations/org-slug/releases/foo.bar.Baz%401.0.0%2B20200101/',
  22. query: {project: '1'},
  23. });
  24. });
  25. it('shows raw version in tooltip', () => {
  26. const wrapper = mountWithTheme(
  27. <Version version={VERSION} tooltipRawVersion />,
  28. routerContext
  29. );
  30. const tooltipContent = mountWithTheme(wrapper.find('Tooltip').prop('title'));
  31. expect(tooltipContent.text()).toBe(VERSION);
  32. });
  33. });