Tasks.spec.tsx 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. import React from 'react';
  2. import { create } from 'react-test-renderer';
  3. import { containerRendersView, TestRouterWrapper } from 'lib/testHelpers';
  4. import { clusterConnectConnectorTasksPath } from 'lib/paths';
  5. import TasksContainer from 'components/Connect/Details/Tasks/TasksContainer';
  6. import Tasks, { TasksProps } from 'components/Connect/Details/Tasks/Tasks';
  7. import { tasks } from 'redux/reducers/connect/__test__/fixtures';
  8. import { ThemeProvider } from 'styled-components';
  9. import theme from 'theme/theme';
  10. jest.mock('components/common/PageLoader/PageLoader', () => 'mock-PageLoader');
  11. jest.mock(
  12. 'components/Connect/Details/Tasks/ListItem/ListItemContainer',
  13. () => 'tr' // need to mock as `tr` to let dom validtion pass
  14. );
  15. describe('Tasks', () => {
  16. containerRendersView(<TasksContainer />, Tasks);
  17. describe('view', () => {
  18. const pathname = clusterConnectConnectorTasksPath(
  19. ':clusterName',
  20. ':connectName',
  21. ':connectorName'
  22. );
  23. const clusterName = 'my-cluster';
  24. const connectName = 'my-connect';
  25. const connectorName = 'my-connector';
  26. const setupWrapper = (props: Partial<TasksProps> = {}) => (
  27. <ThemeProvider theme={theme}>
  28. <TestRouterWrapper
  29. pathname={pathname}
  30. urlParams={{ clusterName, connectName, connectorName }}
  31. >
  32. <Tasks areTasksFetching={false} tasks={tasks} {...props} />
  33. </TestRouterWrapper>
  34. </ThemeProvider>
  35. );
  36. it('matches snapshot', () => {
  37. const wrapper = create(setupWrapper());
  38. expect(wrapper.toJSON()).toMatchSnapshot();
  39. });
  40. it('matches snapshot when fetching tasks', () => {
  41. const wrapper = create(setupWrapper({ areTasksFetching: true }));
  42. expect(wrapper.toJSON()).toMatchSnapshot();
  43. });
  44. it('matches snapshot when no tasks', () => {
  45. const wrapper = create(setupWrapper({ tasks: [] }));
  46. expect(wrapper.toJSON()).toMatchSnapshot();
  47. });
  48. });
  49. });