Version.spec.tsx 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import React from 'react';
  2. import { screen } from '@testing-library/dom';
  3. import Version from 'components/Version/Version';
  4. import { render } from 'lib/testHelpers';
  5. import { useLatestVersion } from 'lib/hooks/api/latestVersion';
  6. import {
  7. deprecatedVersionPayload,
  8. latestVersionPayload,
  9. } from 'lib/fixtures/latestVersion';
  10. jest.mock('lib/hooks/api/latestVersion', () => ({
  11. useLatestVersion: jest.fn(),
  12. }));
  13. describe('Version Component', () => {
  14. const commitId = '96a577a';
  15. describe('render latest version', () => {
  16. beforeEach(() => {
  17. (useLatestVersion as jest.Mock).mockImplementation(() => ({
  18. data: latestVersionPayload,
  19. }));
  20. });
  21. it('renders latest release version as current version', async () => {
  22. render(<Version />);
  23. expect(screen.getByText(commitId)).toBeInTheDocument();
  24. });
  25. it('should not show warning icon if it is last release', async () => {
  26. render(<Version />);
  27. expect(screen.queryByRole('img')).not.toBeInTheDocument();
  28. });
  29. });
  30. it('show warning icon if it is not last release', async () => {
  31. (useLatestVersion as jest.Mock).mockImplementation(() => ({
  32. data: deprecatedVersionPayload,
  33. }));
  34. render(<Version />);
  35. expect(screen.getByRole('img')).toBeInTheDocument();
  36. });
  37. });