import React from 'react';
import { render } from '@testing-library/react';
import { compose } from '../';
describe('compose', () => {
it('case 1', () => {
const A: React.FC = (props) => (
A
{props.children}
);
const App = compose(A)();
const { container } = render();
expect(container).toMatchSnapshot();
});
it('case 2', () => {
const A: React.FC = (props) => (
A
{props.children}
);
const B: React.FC = (props) => (
B
{props.children}
);
const App = compose(A)(B);
const { container } = render();
expect(container).toMatchSnapshot();
});
it('case 3', () => {
const A: React.FC = (props) => (
A
{props.children}
);
const App = compose([A])();
const { container } = render();
expect(container).toMatchSnapshot();
});
it('case 4', () => {
const A: React.FC = (props) => (
A
{props.children}
);
const B: React.FC = (props) => (
B
{props.children}
);
const C: React.FC = (props) => (
C
{props.children}
);
const App = compose(A, B)(C);
const { container } = render();
expect(container).toMatchSnapshot();
});
it('case 5', () => {
const A: React.FC = (props) => (
A {props.name}
{props.children}
);
const B: React.FC = (props) => (
B {props.name}
{props.children}
);
const C: React.FC = (props) => (
C
{props.children}
);
const App = compose(A, [B, { name: '1' }])(C);
const { container } = render();
expect(container).toMatchSnapshot();
});
});