import * as React from 'react';
import { render } from '@testing-library/react';
import { Provider } from 'react-redux';
import { Store } from '@reduxjs/toolkit';
import { ThemeProvider } from '../ThemeProvider';
import { configureAppStore } from 'store/configureStore';
import { useTheme } from 'styled-components';
import { selectTheme } from '../slice/selectors';
const renderThemeProvider = (store: Store, Child: React.FunctionComponent) =>
render(
,
);
describe('', () => {
let store: ReturnType;
beforeEach(() => {
store = configureAppStore();
});
it('should render its children', () => {
const text = 'Test';
const children = () => {text}
;
const { queryByText } = renderThemeProvider(store, children);
expect(queryByText(text)).toBeInTheDocument();
});
it('should render selected theme', () => {
let theme: any;
const children = () => {
// eslint-disable-next-line react-hooks/rules-of-hooks
theme = useTheme();
return a
;
};
renderThemeProvider(store, children);
expect(theme).toBe(selectTheme(store.getState() as any));
});
});