LatestVersionItem.spec.tsx 1.5 KB

123456789101112131415161718192021222324252627282930313233343536
  1. import React from 'react';
  2. import LatestVersionItem from 'components/Schemas/Details/LatestVersion/LatestVersionItem';
  3. import { SchemaSubject } from 'generated-sources';
  4. import { render } from 'lib/testHelpers';
  5. import { screen } from '@testing-library/react';
  6. import { jsonSchema, protoSchema } from './fixtures';
  7. const renderComponent = (schema: SchemaSubject) => {
  8. render(<LatestVersionItem schema={schema} />);
  9. };
  10. describe('LatestVersionItem', () => {
  11. it('renders latest version of json schema', () => {
  12. renderComponent(jsonSchema);
  13. expect(screen.getByText('Relevant version')).toBeInTheDocument();
  14. expect(screen.getByText('Latest version')).toBeInTheDocument();
  15. expect(screen.getByText('ID')).toBeInTheDocument();
  16. expect(screen.getByText('Subject')).toBeInTheDocument();
  17. expect(screen.getByText('Compatibility')).toBeInTheDocument();
  18. expect(screen.getByText('15')).toBeInTheDocument();
  19. expect(screen.getByTestId('json-viewer')).toBeInTheDocument();
  20. });
  21. it('renders latest version of compatibility', () => {
  22. renderComponent(protoSchema);
  23. expect(screen.getByText('Relevant version')).toBeInTheDocument();
  24. expect(screen.getByText('Latest version')).toBeInTheDocument();
  25. expect(screen.getByText('ID')).toBeInTheDocument();
  26. expect(screen.getByText('Subject')).toBeInTheDocument();
  27. expect(screen.getByText('Compatibility')).toBeInTheDocument();
  28. expect(screen.getByText('BACKWARD')).toBeInTheDocument();
  29. expect(screen.getByTestId('json-viewer')).toBeInTheDocument();
  30. });
  31. });