DiffViewer.spec.tsx 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. import React from 'react';
  2. import DiffViewer from 'components/common/DiffViewer/DiffViewer';
  3. import { render } from '@testing-library/react';
  4. describe('Editor component', () => {
  5. const left = '{\n}';
  6. const right = '{\ntest: true\n}';
  7. const renderComponent = (props: {
  8. leftVersion?: string;
  9. rightVersion?: string;
  10. isFixedHeight?: boolean;
  11. }) => {
  12. const { container } = render(
  13. <DiffViewer
  14. value={[props.leftVersion ?? '', props.rightVersion ?? '']}
  15. name="name"
  16. schemaType="JSON"
  17. isFixedHeight={props.isFixedHeight}
  18. />
  19. );
  20. return container;
  21. };
  22. it('renders', () => {
  23. const component = renderComponent({
  24. leftVersion: left,
  25. rightVersion: right,
  26. });
  27. expect(component).toBeInTheDocument();
  28. });
  29. it('renders with fixed height', () => {
  30. const component = renderComponent({
  31. leftVersion: left,
  32. rightVersion: right,
  33. isFixedHeight: true,
  34. }).children[0].children[0];
  35. expect(component).toHaveStyle('height: 500px;');
  36. });
  37. it('renders with fixed height with no value', () => {
  38. const component = renderComponent({
  39. isFixedHeight: true,
  40. }).children[0].children[0];
  41. expect(component).toHaveStyle('height: 500px;');
  42. });
  43. it('renders without fixed height with no value', () => {
  44. const component = renderComponent({}).children[0].children[0];
  45. expect(component).toHaveStyle('height: 32px;');
  46. });
  47. it('renders without fixed height with one value', () => {
  48. const component = renderComponent({
  49. leftVersion: left,
  50. }).children[0].children[0];
  51. expect(component).toHaveStyle('height: 48px;');
  52. });
  53. });