ClusterMenu.spec.tsx 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import React from 'react';
  2. import { mount } from 'enzyme';
  3. import { StaticRouter } from 'react-router';
  4. import { Cluster, ClusterFeaturesEnum } from 'generated-sources';
  5. import { onlineClusterPayload } from 'redux/reducers/clusters/__test__/fixtures';
  6. import ClusterMenu from 'components/Nav/ClusterMenu';
  7. import { ThemeProvider } from 'styled-components';
  8. import theme from 'theme/theme';
  9. describe('ClusterMenu', () => {
  10. const setupComponent = (cluster: Cluster) => (
  11. <ThemeProvider theme={theme}>
  12. <StaticRouter>
  13. <ClusterMenu cluster={cluster} />
  14. </StaticRouter>
  15. </ThemeProvider>
  16. );
  17. it('renders cluster menu without Kafka Connect & Schema Registry', () => {
  18. const wrapper = mount(setupComponent(onlineClusterPayload));
  19. expect(wrapper.find('ul.menu-list > li > NavLink').text()).toEqual(
  20. onlineClusterPayload.name
  21. );
  22. expect(wrapper.find('ul.menu-list ul StyledMenuItem').length).toEqual(3);
  23. });
  24. it('renders cluster menu with all enabled features', () => {
  25. const wrapper = mount(
  26. setupComponent({
  27. ...onlineClusterPayload,
  28. features: [
  29. ClusterFeaturesEnum.KAFKA_CONNECT,
  30. ClusterFeaturesEnum.SCHEMA_REGISTRY,
  31. ],
  32. })
  33. );
  34. expect(wrapper.find('ul.menu-list ul StyledMenuItem').length).toEqual(5);
  35. });
  36. });