12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- import {mountWithTheme} from 'sentry-test/enzyme';
- import {initializeOrg} from 'sentry-test/initializeOrg';
- import ProjectQuickLinks from 'sentry/views/projectDetail/projectQuickLinks';
- describe('ProjectDetail > ProjectQuickLinks', function () {
- const {organization, router} = initializeOrg({
- organization: {features: ['performance-view']},
- });
- it('renders a list', function () {
- const wrapper = mountWithTheme(
- <ProjectQuickLinks
- organization={organization}
- location={router.location}
- project={TestStubs.Project()}
- />
- );
- expect(wrapper.find('SectionHeading').text()).toBe('Quick Links');
- expect(wrapper.find('QuickLink a').length).toBe(3);
- const userFeedback = wrapper.find('QuickLink').at(0);
- const keyTransactions = wrapper.find('QuickLink').at(1);
- const mostChangedTransactions = wrapper.find('QuickLink').at(2);
- expect(userFeedback.text()).toBe('User Feedback');
- expect(userFeedback.prop('to')).toEqual({
- pathname: '/organizations/org-slug/user-feedback/',
- query: {project: '2'},
- });
- expect(keyTransactions.text()).toBe('View Transactions');
- expect(keyTransactions.prop('to')).toEqual({
- pathname: '/organizations/org-slug/performance/',
- query: {project: '2'},
- });
- expect(mostChangedTransactions.text()).toBe('Most Improved/Regressed Transactions');
- expect(mostChangedTransactions.prop('to')).toEqual({
- pathname: '/organizations/org-slug/performance/trends/',
- query: {
- cursor: undefined,
- project: '2',
- query: 'tpm():>0.01 transaction.duration:>0 transaction.duration:<15min',
- },
- });
- });
- it('disables link if feature is missing', function () {
- const wrapper = mountWithTheme(
- <ProjectQuickLinks
- organization={{...organization, features: []}}
- location={router.location}
- project={TestStubs.Project()}
- />
- );
- const keyTransactions = wrapper.find('QuickLink').at(1);
- const tooltip = wrapper.find('Tooltip').at(1);
- expect(keyTransactions.prop('disabled')).toBeTruthy();
- expect(keyTransactions.find('a').exists()).toBeFalsy();
- expect(tooltip.prop('title')).toBe("You don't have access to this feature");
- expect(tooltip.prop('disabled')).toBeFalsy();
- });
- });
|