import {mountWithTheme} from 'sentry-test/enzyme'; import Version from 'app/components/version'; const VERSION = 'foo.bar.Baz@1.0.0+20200101'; describe('Version', () => { const routerContext = TestStubs.routerContext(); it('renders', () => { const wrapper = mountWithTheme(<Version version={VERSION} />, routerContext); expect(wrapper).toSnapshot(); }); it('shows correct parsed version', () => { // component uses @sentry/release-parser package for parsing versions const wrapper = mountWithTheme(<Version version={VERSION} />, routerContext); expect(wrapper.text()).toBe('1.0.0 (20200101)'); }); it('links to release page', () => { const wrapper = mountWithTheme( <Version version={VERSION} projectId="1" />, routerContext ); expect(wrapper.find('Link').first().prop('to')).toEqual({ pathname: '/organizations/org-slug/releases/foo.bar.Baz%401.0.0%2B20200101/', query: {project: '1'}, }); }); it('shows raw version in tooltip', () => { const wrapper = mountWithTheme( <Version version={VERSION} tooltipRawVersion />, routerContext ); const tooltipContent = mountWithTheme(wrapper.find('Tooltip').prop('title')); expect(tooltipContent.text()).toBe(VERSION); }); });